【问题标题】:Find element's onclick event with javascript使用 javascript 查找元素的 onclick 事件
【发布时间】:2011-11-01 18:23:18
【问题描述】:

我需要将一个元素的 onclick 事件从一个链接克隆到另一个链接。

<a id='foo' onclick='bar'>

我需要一些将返回 `bar' 的 javascript 或 jquery。

$('#foo').attr('onclick')
    //returns 'undefined'

【问题讨论】:

  • 我得到了作为字符串返回的完整函数,而不是undefined:jsfiddle.net/Z4gAp。你使用的是什么浏览器? (我在 Mac 上使用 Chrome)
  • 这对我来说很好用:jsfiddle.net/purmou/73yns@Clive:我的很好用,它返回“bar”。

标签: javascript jquery dom onclick attr


【解决方案1】:

使用 DOM 元素的原生 .getAttribute 方法。

我将.attr('onclick')[0].getAttribute('onclick') 进行了比较:

  • jQuery 方法返回 function onclick(event) {bar;}(jQuery 版本 1.5.2,包含在 Stack Overflow)
  • JavaScript 方法返回"bar"

测试用例(复制粘贴到控制台):

$('<a id="foo" onclick="bar">')[0].getAttribute('onclick')

【讨论】:

  • 真的吗?两种方法都给了我bar
  • @JohnGiotta 我在 Stack Overflow 的控制台中测试了代码,其中包括 jQuery 版本 1.5.2(使用 $().jquery 获取版本)。另请参阅,这个小提琴:jsfiddle.net/3qkJr
【解决方案2】:

它在 jQuery 1.6.4 中返回 bar 很好,其中 prop 方法返回完整的函数。解决方案是将您的 jQuery 升级到最新版本。

http://jsfiddle.net/n9UdN/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    相关资源
    最近更新 更多