$(…)。on不是函数 – jQuery Error
我正在使用对话框,当用户点击页面上的任何位置时,我正在关闭该对话框。
这是我的代码:
$('body').on('click','.ui-widget-overlay',function() { $('#myRateSettingsPopup').dialog('close'); });
它以某种方式返回错误:
$(…)。on不是函数
我的代码出了什么问题?
我使用的是jquery-1.6.1.min.js,但我无法将其更新到最新版本。 我受约束。
有没有其他方法可以做到这一点?
方法on在jQuery 1.7版本中引入。
我认为你必须将你的jQuery库升级到最新版本。
否则,您可以使用bind :
$( ".ui-widget-overlay" ).bind( "click", function(e) { $('#myRateSettingsPopup').dialog('close'); e.stopPropagation(); });
jQuery> 1.4.2中.on()的替换是delegate()
$('body').delegate('.ui-widget-overlay', 'click', function () { $('#myRateSettingsPopup').dialog('close'); });
$( ".close" ).bind( "click", function(e) { $('#popup1').hide(); e.stopPropagation(); });
jquery-1.7 jqueryui / 1.8.2完美。
或你的叠加层
$( ".YOUR OVERLAY" ).bind( "click", function(e) { $('#YOUR POPUP').hide(); e.stopPropagation(); });
由于jquery 1.6.1不支持on
所以你可以使用live
$('body').live('click','.ui-widget-overlay',function(event) { event.stopPropagation(); $('#myRateSettingsPopup').dialog('close'); });
尝试live
而不是它的jquery版本问题
$('body').live('click','.ui-widget-overlay',function() { $('#myRateSettingsPopup').dialog('close'); });