gpt4 book ai didi

javascript - 为什么这个 jQuery 函数在多次调用时会失败?

转载 作者:行者123 更新时间:2023-11-30 07:23:56 28 4
gpt4 key购买 nike

我创建了一个对话框和一个 jQuery 函数来打开/关闭它。我的问题是,在我第二次单击“打开”按钮后,发生了一些事情,它不会删除 show 类。

我猜是因为第一次调用后,第二次调用时“它还在那里”。 I have me JS fiddle here to test .

我做错了什么导致它不起作用?

// JS code
$.fn.sl_dialog = function(params){
var self = this;

self.after('<div class="dialog-background"></div>')
$('.dialog').toggleClass('show');

$('.dialog .close, .dialog .button.no').on('click', function(){
$('.dialog-background').remove();
$('.dialog').toggleClass('show');
});

return false;
}


$('.clickme').on('click', function(){
$('.dialog').sl_dialog();
});

最佳答案

将onclick移到函数外

$.fn.sl_dialog = function(params){
var self = this;
self.after('<div class="dialog-background"></div>')
$('.dialog').toggleClass('show');
return false;
}
$('.dialog .close, .dialog .button.no').on('click', function(){
$('.dialog-background').remove();
$('.dialog').toggleClass('show');
});

这是更新的 Fiddle

关于javascript - 为什么这个 jQuery 函数在多次调用时会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25505611/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com