我可以将jQuery / coffeescript中的clicked元素作为参数吗?

时间:2015-04-22 20:00:09

标签: jquery coffeescript click element

我有这个古老的代码,用CoffeeScript编写。 Mootools的:

  pleaseDo:
    "click:relay(#click-me)": @doSomething

  doSomething: (event, element) =>
    console.log event   # shows event
    console.log element # shows element

我试图将其重写为jQuery,我想知道在jQuery中获取点击元素的最佳方法是什么?

  pleaseDo:
    $("#click-me").on "click": @doSomething

  doSomething: (event, element) =>
    console.log event   # shows event
    console.log element # undefined

我知道我可以使用event.target,例如:

  doSomething: (event) =>
    element = event.target
    console.log event   # shows event
    console.log element # shows event

但我不喜欢它的样子。我可以以某种方式得到真正的"元素"作为doSomething函数的参数(就像在Mootools中一样)?

2 个答案:

答案 0 :(得分:1)

您只需$(event.target)$(this)

答案 1 :(得分:1)

你可以这样做:

   $('#click-me').on('click', function(){
     console.log($(this));
   });

这将返回jQuery对象,以便您可以像这样使用它

   $('#click-me').on('click', function(){
      $(this).text('hola');
    });

否则,如果你想使用javascript这个

整个html对象
   $('#click-me').on('click', function(){
      console.log(this);
   });