$(...).on不是函数 - jQuery Error

Has*_*dar 34 jquery dialog jquery-ui

我正在使用对话框,当用户点击页面上的任何位置时,我正在关闭该对话框.

这是我的代码:

$('body').on('click','.ui-widget-overlay',function()
{ 
    $('#myRateSettingsPopup').dialog('close'); 
}); 
Run Code Online (Sandbox Code Playgroud)

它以某种方式返回错误:

$(...).on不是一个函数

我的代码出了什么问题?

我使用的是jquery-1.6.1.min.js,但我无法将其更新到最新版本.我受约束.

有没有其他方法可以做到这一点?

Ani*_*pta 62

方法on在jQuery 1.7版本中引入.

我认为你必须将你的jQuery库升级到最新版本.

否则,您可以使用bind:

$( ".ui-widget-overlay" ).bind( "click", function(e) {
    $('#myRateSettingsPopup').dialog('close');
    e.stopPropagation(); 
});
Run Code Online (Sandbox Code Playgroud)

  • bind将仅绑定当前现有项的事件处理程序. (6认同)

Aru*_*hny 5

jQuery> 1.4.2中的.on()的替代品是委托()

$('body').delegate('.ui-widget-overlay', 'click', function () {
    $('#myRateSettingsPopup').dialog('close');
});
Run Code Online (Sandbox Code Playgroud)