我的js文件中有这段代码,基本上,我要测试的是用户是否单击某个按钮(ID为admin)。
我希望它显示一个closeButton
是png图像,然后当用户再次单击时它应该消失。为了测试按钮功能是否响应,我在功能中添加了警报。
单击初始按钮将起作用,该功能将找到相应的ID,进行alert("jQuery Worked")
划线并显示closeButton
图像。
但是,当我单击关闭按钮时,什么也没发生(我们希望在这里该按钮alert("hiii")
可以正常工作,但不能正常工作。我在网上查看后发现,我的代码需要放在一个$(document).ready(function() {}
可以正常工作但无法正常工作的函数中。我还尝试使用图像的ID来使closeButton
图像消失,但是那也不起作用,所以我尝试仅使用$closeButton
我认为应该可以但不能起作用的变量,为什么呢?
.js文件
var $closeButton = $("<img>");
$(document).ready(function() {
$("#admin").click(function (event) {
var $overlay = $("<div id='overlay'> </div>");
var $closeButton = $("<img class='classMe' id='closeButtonID' src='https://s23.postimg.org/ouup1ib6z/close_button.png'></img>");
$("body").append($overlay);
$overlay.append($closeButton);
alert("jQuery worked");
});
$closeButton.click(function() {
alert("hiiii");
});
});
您在寻找事件委托。
事件委托是指使用事件传播(冒泡)在DOM中比事件起源的元素更高级别处理事件的过程。它允许我们为当前或将来存在的元素附加单个事件侦听器。在事件处理函数内部。
$(document).on('click', '#closeButtonID', function() {
alert('hiii');
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句