jquery.unobtrusive-AJAX插件断更新到Jquery的1.9.0 [重复]当(jq

2019-07-18 10:09发布

可能重复:
jQuery的1.7 -车削现场()插入()

//解决方案:我只是更换了四次出现类似的批准答案建议和不显眼的ajax插件并与jQuery 1.9.0再次合作

更新//请遵守标注在这是解决的最佳方式是底部的答案的评论。

//原帖:我已经升级到jQuery的1.9.0,但随后不显眼的ajax插件下去,因为他们不赞成活法。 我试过,因为升级修复了其他错误,我来代替它这个样子。 但是,这是行不通的。 我只是对这样的生活所取代:

$("a[data-ajax=true]").on("click", function (evt) {
        evt.preventDefault();
        asyncRequest(this, {
            url: this.href,
            type: "GET",
            data: []
        });
    });

    $("form[data-ajax=true] input[type=image]").on("click", function (evt) {
        var name = evt.target.name,
            $target = $(evt.target),
            form = $target.parents("form")[0],
            offset = $target.offset();

        $(form).data(data_click, [
            { name: name + ".x", value: Math.round(evt.pageX - offset.left) },
            { name: name + ".y", value: Math.round(evt.pageY - offset.top) }
        ]);

        setTimeout(function () {
            $(form).removeData(data_click);
        }, 0);
    });

    $("form[data-ajax=true] :submit").on("click", function (evt) {
        var name = evt.target.name,
            form = $(evt.target).parents("form")[0];

        $(form).data(data_click, name ? [{ name: name, value: evt.target.value }] : []);

        setTimeout(function () {
            $(form).removeData(data_click);
        }, 0);
    });

    $("form[data-ajax=true]").on("submit", function (evt) {
        var clickInfo = $(this).data(data_click) || [];
        evt.preventDefault();
        if (!validate(this)) {
            return;
        }
        asyncRequest(this, {
            url: this.action,
            type: this.method || "GET",
            data: clickInfo.concat($(this).serializeArray())
        });
    });

Answer 1:

等效live使用on (代表团)是:

$(document).on("click","a[data-ajax=true]", function (evt) {...});

你可以找到jQuery的.on()在此方法文档:

>> http://api.jquery.com/on/ <<

的。对()方法附加事件处理程序到当前选定集jQuery对象元件。 在jQuery 1.7中,。对()方法提供用于附接的事件处理程序所需的所有功能。 对于从旧的jQuery事件方法转换帮助,请参阅.bind(),.delegate().live()。

要删除与。对(绑定事件),请参阅.off()。 要附加只运行一次 ,然后删除自身的事件,请参阅。一()



文章来源: jquery.unobtrusive-ajax plugin broken when updating to Jquery 1.9.0 [duplicate]