为了账号安全,请及时绑定邮箱和手机立即绑定

为什么内联事件处理程序属性在现代语义HTML中是个坏主意?

为什么内联事件处理程序属性在现代语义HTML中是个坏主意?

MYYA 2019-07-31 10:26:50
为什么内联事件处理程序属性在现代语义HTML中是个坏主意?内联事件处理程序被认为是一种不好的做法吗?例如: <button onclick=someFunction()>Click me!</button>如果是这样,使用内联事件处理程序有什么缺点?
查看完整描述

3 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

这是一个坏主意,因为......

1)长期以来,人们明确强调内容,风格和剧本之间的明确区分。使用JS混淆HTML并不符合这一点。

2)更重要的是,你对事件的控制要少得多。特别:

  • 你可以只用DOM-zero事件绑定每种事件(这是内联的事件),所以你不能有两个click事件处理程序

  • 如果事件是内联指定的,则JS被指定为字符串(属性值始终为字符串)并在事件触发时进行评估。评价是邪恶的。

  • 你将面临必须引用命名函数。这并不总是理想的(事件处理程序通常采用匿名函数)并且对需要全局的函数有影响

简而言之,通过专用addEventListenerAPI或jQuery等集中处理事件。


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 629 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信