jquery append脚本增加的html onclick时间无法生效的原因以及解决方案
Posted gShow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery append脚本增加的html onclick时间无法生效的原因以及解决方案相关的知识,希望对你有一定的参考价值。
针对click, dblclick, mousedown, mouseup,等一些事件,它们处理的都是对当前匹配的元素的增加一个监听事件。但我们用append脚本增加html的时候相当于是未来匹配的,所以onclick肯定没有办法生效。
jQuery 1.3中新增live的方法。给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件)。也能绑定自定义事件。
目前支持 click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。
还不支持 blur, focus, mouseenter, mouseleave, change, submit
[javascript] view plain copy
<script>
$(document).live("click", ".waiting-save", function () {
$(this).html('@T("Saving...")')
$(this).attr("disabled", "");
SaveAction(this);
});
</script>
但是随着jQuery的版本升级,自从jQuery 1.9及其以上已经无法使用live了,那么没有办法了吗,不是的,对于jQuery1.9版本及其以上可以使用on,其效果等同于live,代码如下
[html] view plain copy
<script>
$(document).on("click", ".waiting-save", function () {
$(this).html('@T("Saving...")')
$(this).attr("disabled", "");
SaveAction(this);
});
</script>
以上是关于jquery append脚本增加的html onclick时间无法生效的原因以及解决方案的主要内容,如果未能解决你的问题,请参考以下文章