Javascript 委托元素上的jQuery小部件

Javascript 委托元素上的jQuery小部件,javascript,jquery,jquery-ui,jquery-widgets,jquery-ui-widget-factory,Javascript,Jquery,Jquery Ui,Jquery Widgets,Jquery Ui Widget Factory,我正在将jQueryUI中的小部件工厂应用到现有的生产环境中 此环境使用名为sm2.validateNext的绑定事件,该事件在页面更改之前触发。但是,当尝试使用上的\u绑定到此事件时,它会尝试拆分此事件名称并将其委派。(我认为这是正确的,但不是我期望的功能) 代码(在$.widget内): 调试这段代码时,它会被委派(不是我期望的行为)(来自jqueryui.widget.js) 因为天气原因。(点)它获得一个匹配项,并且选择器在委派事件时变为有效。但是我需要绑定它的handlerProxy

我正在将jQueryUI中的小部件工厂应用到现有的生产环境中

此环境使用名为
sm2.validateNext
的绑定事件,该事件在页面更改之前触发。但是,当尝试使用上的
\u绑定到此事件时,它会尝试拆分此事件名称并将其委派。(我认为这是正确的,但不是我期望的功能)

代码(在$.widget内):

调试这段代码时,它会被委派(不是我期望的行为)(来自jqueryui.widget.js)

因为天气原因。(点)它获得一个匹配项,并且选择器在委派事件时变为有效。但是我需要绑定它的handlerProxy

有没有办法避免“被困”在那场比赛中?我试图逃避sm2\.validateNext,但没有结果

注意:$(document).on(“sm2.validateNext”…)对我不起作用,因为我需要实例位于widget对象

$(document).on("sm2.validateNext"...)
谢谢你的帮助

使用
$找到了我的解决方案。代理

而不是:

this._on(true, document, {
    "sm2.validateNext": function () { ... },
});
我用过:

$(document).on("sm2.validateNext", $.proxy(function () { ... }, this));
现在它的工作原理和我预期的一样

this._on(true, document, {
    "sm2.validateNext": function () { ... },
});
$(document).on("sm2.validateNext", $.proxy(function () { ... }, this));