jquery - 元素未由附加事件处理程序触发

标签 jquery html

我有一个<div id="pause"><img id="pausimg" src="bla" /></div>作为触发我以下事件的按钮:

$('#pause').on('click', pause);
$('#play').on('click', play);

function pause() {
    $slider.cycle('resume'); 
    $('#pausimg').attr('src', 'images/pause.png'); 
    $(this).attr('id', 'play');
}

function play() { $slider.cycle('pause');
     $('#pausimg').attr('src', 'images/play.png');
     $(this).attr('id', 'pause');
}

如您所见#play单击按钮时不存在。但单击它后,处理程序 play()应该开火。但它似乎不知道#play即使我检查日志 id实际上是#play

谢谢

最佳答案

<强> Working jsFiddle Demo

使用事件委托(delegate):

$('body').on('click', '#pause', pause);
$('body').on('click', '#play', play);
<小时/>

引用文献:

  • .on() - jQuery API 文档

关于jquery - 元素未由附加事件处理程序触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17027626/

相关文章:

javascript - 显示有关在 jquery 中单击按钮的详细信息

jquery - 如何在 jQM 图像按钮上换行文本?

javascript - 当导航链接点击 jQuery 时切换事件类

jquery - 使用 jquery 移动 div

javascript - 有没有办法在js插入后在浏览器中显示html源?

php - 使用表单发布 json 数据

html - 复选框在任何浏览器中都不可见

html - 相当于使用 flexbox 的 bootstrap 的 "pull-right"?

javascript - 数据绑定(bind)样式不适用于 if else 条件

javascript - 无法获取 particleground javascript 作为 div/部分的背景