我喜欢jQuery在使用“bind”方法时包装事件的方式。然而,设置绑定很尴尬。有没有办法将html的简易性(例如onKeyPress="foo(event)"
)与jQuery独立于浏览器的事件处理优势结合起来?
答案 0 :(得分:1)
你的意思是这样吗?
function foo(event) {
alert(event.target);
}
$('.someSelector').keypress(foo);
无论是以HTML还是javascript方式,您都需要创建一个函数foo
,所以这可能更接近您所寻找的内容。
我不确定你对jQuery的处理程序绑定有什么尴尬。
答案 1 :(得分:1)
你可能不想这样做。
您可能希望阅读event delegation in JavaScript,这些jquery绑定方法可以为您整理。
以下是重点:
活动授权有几个好处 对网络的表现 应用程序:
管理的功能较少。占用 记忆力减少你的关系越少 代码和DOM。不用担心 关于何时删除事件处理程序 通过innerHTML改变DOM。
你最好使用jQuery的绑定助手,比如$ whatever.click(fn)等。
实际上here is another question on SO引用了我所做的同一篇文章也可能有所帮助。
答案 2 :(得分:0)
一个好主意是将两者分开,将HTML清理干净,将js放在一个单独的位置。您可以尝试使用$('a').click(...)
而不是$('a').bind('click'...)
等快捷方式,但这就是它。就个人而言,我喜欢将绑定与标记分开。