为特定标签下(div,table,form)下的所有相同组件添加共同的行为
工作中,碰到这样一个问题,就是当页面载入的时候,载入的是有默认值的页面,即用户设定好的页面,如果用户对页面进行了修改,显示[Restore To Default For Account]链接,用户点击可以回复到开始的时候页面。
有两种方法进行:
1. 很笨的方法,就是给所有用户修改区域的标签增加事件(onchange or onclick).但是如果页面上标签太多,则很麻烦。
2. 代理事件(我的理解)。使用jquery 或者 mootools 获取指定的选择器,然后给下面满足相同条件的标签提供相同的行为:
代码如下(mooTools):
$(document).ready(function(){ $("#test1").find(":text").change(function(event){ alert("here");event.stopPropagation(); });});$(document).ready(function(){ $("#test1").find("select").change(function(event){ alert("here");event.stopPropagation();//取消事件冒泡 });});
?
为每一个标签增加事件,但是不会影响现有的标签的事件,即便现有标签里面有这个事件,执行的顺序,我这里是先执行标签上面的事件,再执行你动态增加的事件。?
实际问题中,可能你希望页面全部加在完成后 在执行插入代码,则需要使用到
window.onload 或者domready. 具体如何使用请百度。
?