针对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
<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,代码如下
<script>
$(document).on("click", ".waiting-save", function () {
$(this).html('@T("Saving...")')
$(this).attr("disabled", "");
SaveAction(this);
});
</script>