使用html附加一个jquery事件处理程序?

时间:2010-11-16 18:03:42

标签: javascript jquery html events

我喜欢jQuery在使用“bind”方法时包装事件的方式。然而,设置绑定很尴尬。有没有办法将html的简易性(例如onKeyPress="foo(event)")与jQuery独立于浏览器的事件处理优势结合起来?

3 个答案:

答案 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'...)等快捷方式,但这就是它。就个人而言,我喜欢将绑定与标记分开。