我正在尝试创建一个隐藏其所包含的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');
});
这看起来在功能上和我一样,但是不起作用。知道为什么吗?
答案 0 :(得分:4)
您的.close_pane
HTML
的元素
$('#slideshow').on('click', '.close_button',
应该是
$('#slideshow').on('click', '.close_pane',
答案 1 :(得分:3)
一切都很好:http://jsfiddle.net/pulkitm/QgGsP/4/
您只是错过了左侧面板上的jquery框架选择!
代码运行正常:
$(function() {
$('#outer').on('click', '#close', function() {
$('#inner').fadeOut();
});
});