jquery-mobile - 在 jquery coffeescript 中绑定(bind)点击事件

标签 jquery-mobile coffeescript

我正在使用 rails 3.2 并且也在使用 coffeescript..
我对在我的应用程序中使用 jquery mobile 有疑问
我有一个像

<a href="#" data-item=12 data-status=true class="follow">
  <span class="ui-btn-inner">
    <span class="ui-btn-text">
      Follow
    </span>
  </span>
</a>

在我的 CoffeeScript 中,我试图在点击此关注时编写函数,我试图发送一个 ajax 调用。

当我写喜欢
  $("a.follow").unbind('click').bind 'click', (event, data) ->
      event.stopPropagation()
      clickedEl = $(event.target)
      console.log(clickedEl)

Console.log 有时会与类“ui-btn-text”一起打印,有时会与“ui-btn-inner”类一起打印。

但是在我的 CoffeeScript 函数中,我实际上需要从标签中获取属性。如何进行此操作

最佳答案

您可以使用 event.currentTarget 而不是 event.target :

The current DOM element within the event bubbling phase.



演示:http://jsfiddle.net/ambiguous/gdzUC/

event.delegateTarget :

The element where the currently-called jQuery event handler was attached.



演示:http://jsfiddle.net/ambiguous/UhBWM/

您也可以使用 closest :
clickedEl = $(this).closest('a')

演示:http://jsfiddle.net/ambiguous/2LHp3/

event.target 值为:

The DOM element that initiated the event.



换句话说,它是实际被点击的东西。 currentTargetdelegateTarget将是事件绑定(bind)的东西。使用 closest这可能是矫枉过正,您通常会使用它来将 DOM 上升到一个容器,该容器包含您正在与之交互的多个项目。

关于jquery-mobile - 在 jquery coffeescript 中绑定(bind)点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10613787/

相关文章:

jquery - 单击 HTML5 输入类型编号时 iPhone 标题位置发生变化

javascript - 我的代码在 jquery mobile 1.0 中运行良好但在 1.4.2 中运行不正常

javascript - 表 td 内的 json2htmled jQuery 移动按钮看起来很旧,在按钮()/刷新后新按钮中有旧按钮

javascript - 如何使用 jQuery Mobile 让计时器在某些页面上运行?

javascript - 过滤树结构

javascript - CoffeeScript 私有(private)类实例变量

javascript - 如何在 JavaScript 中识别以相同开头但值不同的不同 id

javascript - 将动态文本插入表单标题

javascript - 使用 CoffeeScript 支持设置 Node.js/Geddy 应用程序

javascript - Coffeescript parseInt 快捷方式?