首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JSX onClick 和 HTML onclick 区别

在 JSX 可以通过 onClick 这样方式给一个元素添加一个事件处理函数,当然,在 HTML 也可以用 onclick (小写 c),但在 HTML 中直接书写 onclick 一直就是为人垢病写法...1、onclick 添加事件处理函数是在全局环境下执行,这污染了全局环境,很容易产生意料不到后果; 2、给很多 DOM 元素添加 onclick 事件,可能会影响网页性能,毕竟,网页需要事件处理函数越多...,性能就会越低; 3、对于使用 onclick DOM 元素,如果要动态地从 DOM 树删掉的话,需要把对应时间处理器注销,假如忘了注销,就可能造成内存泄露,这样 bug 很难被发现 这就带来一个问题...: 既然长期以来一直不倡导在 HTML 中使用 onclick,为什么在 React JSX 我们却要使用 onClick 这样方式来添加事件处理函数呢?...JSX 组件使用 onClick,并不会产生直接使用 onclick HTML,而是使用了事件委托(event delegation)方式处理点击事件,无论有多少个 onClick 出现,其实最后都只在

1.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

onclick与addEventListener区别

DOM都是有效,而onclick仅限于HTML 4.addEventListener可以控制listener触发阶段,(捕获/冒泡)。...对于多个相同事件处理器,不会重复触发,不需要手动使用removeEventListener清除 5.IE9使用attachEvent和detachEvent 探究: onclick添加事件: element.onclick...= functionRef; functionRef是一个函数,通常是在别处声明函数名,或者是一个函数表达式 onclick删除事件: element.onclick = null; DOM格式如上...但是如果像上面的用匿名函数方式注册事件,不能使用removeListener注销,因为没用对应事件引用。...对于上面的匿名函数,就算内容一样,也会依次执行,因为并不能算是相同事件处理器。 里面的this引用,不是window对象,而是触发事件元素引用。

1.4K10
领券