javascript - 获取触发元素

标签 javascript jquery events coffeescript

我的问题的核心是:

$('input').click (e) ->
  # do some things conditionally, depending on the event origin
  false

$('a').click ->
  $('input').click()

所以问题是,我怎么知道是谁发起了事件。

请注意,在这两种情况下(单击输入或链接 e.target 是相同的)。

更新:我把上面的代码贴在这里:http://jsfiddle.net/w7faW/1/

谢谢。

最佳答案

您可以将额外的参数传递给事件处理程序 [1]:

$('input').click (e, triggered) ->
  if triggered then x
  false

$('a').click ->
  $('input').trigger('click', true)

这允许您使用额外的参数来识别点击的来源(用户发起的或程序化的),从 anchor 击中转 e.target,或将数据发送到事件处理程序.

[1] http://api.jquery.com/trigger/

关于javascript - 获取触发元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10609149/

相关文章:

c# - 等待事件处理程序

javascript - react native 导航路线未定义

javascript - 用于删除导致关键字的字符串的第一部分的正则表达式

javascript - 如何在网站上显示与滚动距离相对应的数值?

jquery - 为什么当我快速单击箭头控件图标时这个 jQuery slider 消失了?

javascript - 验证文本框中的 double 类型

c++ - 当用户启动注销/关机操作时停止应用程序

javascript - ui-grid enableSelectAll 和 paginationPageSize

javascript - 如何按日期对数组进行排序但缺少第一个数组项

javascript - Javascript 事件监听器的匿名函数一直返回相同的值?