我在使用stopPropagation
,修改MDC doc中的代码。stopPropagation:element.addEventListener vs onclick属性
下面是一个问题:如果我按照他们所做的操作并使用element.addEVentListener("click", fname)
,一切正常。
但是,当我试图附加功能元素的onclick
属性(<div onclick="fname();">
),传播不停止。
如果我使用<div onclick="function(ev) {fname();}">
,fname()根本不被调用(我也尝试通过fname(ev)
得到相同的结果)。
想法任何人?让我知道你是否需要看代码。
我真的会反驳,并建议不要使用通用框架。虽然他们有它们的优点,但可以非常容易地创建跨浏览器框架实现。我建议至少先编写自己的自定义框架,以便您可以完全理解所有正在发生的事情。这有助于你在将来不会遇到像这样的问题! 把事情放在心上,离开网站,(并在框架中)是不好的做法!更简单并不意味着更快,或更好! – GAgnew 2011-04-18 15:01:28
J.很高兴知道,谢谢!我现在坚持使用addEventListener。否则,我确实使用jQuery来处理这类事情。这只是一个快速测试页面,所以我还没有链接到jQ。 – Nathan 2011-04-18 15:16:03
@Greg:*“......跨浏览器框架实现可以很容易地创建......”*哦,很多人都认为这些年来。 :-)只要看看任何主要的图书馆的源代码,如果你像我一样,你会明白利用其他人所做的所有调试的能力。就像处理Safari在某些情况下会在“select”框中错误地报告所选项目一样,或者在IE6中插入'script'元素以避免遇到奇怪的'base'元素时必须小心的事实错误。等* *(续)* – 2011-04-18 15:31:19