何らかの理由でjQuery.off( 'click')がここで動作していないようです。モデルで「はい」ボタンをクリックすると、別のモデルがポップアップします。私は間違って何をしていますか?jQuery.off()はバインディングを削除していません
コード:
$(function(){
//If there are warnings on the page bind alert
if ($('.renewal-warning').length > 0){
(function(){
$('#signRentalContainer').on('click', '.renewal-warning', function(e){
var buttonHandle = this;
//Prevent submission
e.preventDefault();
//Show warning model
$.modal({
content: $('#renewalWarning').html(),
title: "Order Renewal Warning",
buttons: {
'Yes': function(win) { $(buttonHandle).off('click').click(); },
'No': function(win) { win.closeModal(); }
},
maxWidth: 250,
closeButton: false
});
});
})();
}
});
なぜこの場合ハンドルが機能しないのですか?私はjQueryがイベントにマッチする範囲を変更したと思いましたか? – Steven
@Steven:ああ、なぜあなたは '.off()'をやっているのですか?私はイベントがバブリングしていると思っています。 'off()'の代わりに 'e.stopPropagation()'をハンドラに追加してみてください。 –
...それは、すでにクリックされた要素でやっている '.click()'のためです。それはなぜそこにあるのですか?削除してください。 –