我的问题的核心是:
$('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
,或将数据发送到事件处理程序.
关于javascript - 获取触发元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10609149/