我正在尝试创建一个按钮,它将隐藏它所在的div。这个div的内容(包括按钮)很可能会在页面被查看时被销毁和重新创建几次,所以有人建议我使用“事件委派”来定位按钮,因为在按钮被销毁和重新创建之后,实际调用按钮本身的函数会失败。
建议我使用的语法如下:
$('#container').on('click', '#button', function() {
$('#div').fadeOut();
});
由于某些原因,这不起作用。我创建了this jsfiddle,其中它也不起作用。我做错了什么?谢谢!
编辑:好吧,显然我是个笨蛋,没有正确使用jsfiddle。一旦我将它配置为使用jQuery,它就可以很好地工作,但是这个方法在我的实际代码中不起作用。
HTML:
<div class="cycle-slideshow" id="slideshow">
<div class="cycle-overlay custom" id="info">
<img src="close_pane.png" class="fadein close_pane button">
</div>
</div>
jQuery:
$('#slideshow').on('click', '.close_button', function() {
$('#info').fadeOut('slow');
});
这在功能上对我来说是一样的,但不起作用。知道为什么吗?
发布于 2012-11-21 22:27:58
看起来您的HTML
中没有类为.close_pane
的元素
$('#slideshow').on('click', '.close_button',
应该是
$('#slideshow').on('click', '.close_pane',
发布于 2012-11-21 21:54:46
一切都很好:http://jsfiddle.net/pulkitm/QgGsP/4/
您刚刚错过了选择左侧面板上的jquery框架!
代码运行得很好:
$(function() {
$('#outer').on('click', '#close', function() {
$('#inner').fadeOut();
});
});
https://stackoverflow.com/questions/13502607
复制相似问题