onclick ="func()"或.click()?

The*_*ian 6 jquery

我想知道上面哪种方法是首选的,或者是使用$(elem).click()来处理简单事情的一般准则和<a onclick ="func(1,2,3,4);" >何时需要在单击元素时将参数传递给脚本?我一直在尝试只使用$(elem).click()来保持代码干净简单,但是当你必须传递多个参数时它会变得棘手并且函数调用onclick =""似乎是一个更好的解决方案.

Jas*_*yon 7

jQuery背后的主要思想之一是不引人注目的javascript(即HTML和javascript是两种味道不一样的好味道).使用jQuery对象和选择器来附加函数是他们希望你做的.


Rya*_*rty 5

$(elem).click(function() {
    func(1,2,3,4);
});
Run Code Online (Sandbox Code Playgroud)

这看起来像你想要的,不是吗?

  • 如果你有数百个这些元素,最有效的方法是使用[事件委托] [http://www.danwebb.net/2008/2/8/event-delegation-made-easy-in-jquery]而不是单独的onclick每个元素的处理程序.为了使JS与HTML混合较少,您可以将所需的参数存储在Javascript数据结构中,每个对象的键都是元素ID或类似的. (2认同)