我想知道为什么使用观察者更好,而不是直接将操作添加到onclick =“”。onClick vs观察员
例如。
$('mybutton').observe('click', respondToClick);
vs
<a href="#" onclic="respondToClick()">button</a>
感谢
我想知道为什么使用观察者更好,而不是直接将操作添加到onclick =“”。onClick vs观察员
例如。
$('mybutton').observe('click', respondToClick);
vs
<a href="#" onclic="respondToClick()">button</a>
感谢
这是一个相当普遍的问题,所以我会向您推荐一个quality article上quirksmode.org,回答这个问题,其他的问题,你可能对事件处理。
下面是摘录:
<a href="somewhere.html" onclick="alert('I\'ve been clicked!')">
认识到事件处理 这古老的方式是 事实上由Netscape规范是非常重要的。所有 其他浏览器,包括Explorer, 必须符合Netscape 2 和3处理事件的方式,如果他们想要 JavaScript才能工作。因此这些 古代事件和事件处理程序在所有JavaScript浏览器中工作 。
玩得开心阅读。
一般来说,大多数人会建议保持你的JavaScript与你的HTML分开,以便更快的HTML页面呈现。由于跨浏览器不兼容性,代码
最大的原因是observe
允许您通过JavaScript代码注册和注销多个观察者,而分配给onclick
的代码少了很多灵活。
对我来说,主要有三个原因是这样:
el.onclick = null;
不会总是有效。 IE有一种允许内存泄漏的方法。