ダイアログボックスを使用しています。ユーザーがページ上の任意の場所をクリックすると、ダイアログボックスが表示されます。
ここに私のコードがあります:
$('body').on('click','.ui-widget-overlay',function()
{
$('#myRateSettingsPopup').dialog('close');
});
何らかの理由でエラーが返されます:
$(...)。onは関数ではありません
私のコードの何が問題になっていますか?
Jquery-1.6.1.min.jsを使用していますが、最新バージョンに更新できません。私は縛られています。
これを行う他の方法はありますか?
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
の代わりにon
を試してください。jqueryバージョンの問題です
$('body').live('click','.ui-widget-overlay',function()
{
$('#myRateSettingsPopup').dialog('close');
});