【问题标题】:Combining inline onclick event with jquery onclick event将内联 onclick 事件与 jquery onclick 事件相结合
【发布时间】:2016-10-28 17:38:41
【问题描述】:

我有一些包含内联 onclick 事件的代码,并且该代码无法更改。

代码可以

onclick="javascript:document.myform.hiddenfield.value='1234';
document.myform.submit(); return false;"

现在,我想用一个外部 jQuery 文件截取和修改它。

但是,我发现内联 onclick 将在任何通过 jQuery 附加的事件之前运行。

所以我的想法是在加载时做一些事情,比如获取内联 onclick 文本,将其写入链接的新属性,例如 oldonclick,然后通过 $.prop() 将 onclick 设置为 null

那么我的事件处理程序就可以做到了,如果满足要求,实际读取并执行旧值。

但是,在第一个障碍中,我有点卡住了,$.prop("onclick") 返回一个函数,而不是来自 onclick 的字符串。因此,我无法将其分配给某个虚拟值并转到下一步。

如何将 onclick 读取为文本,以及如何以其他方式实现此 jQuery 拦截?

【问题讨论】:

  • var func = document.getElementById("someobjectID").onclick$("#someobjectID").get(0).onclick 怎么样

标签: javascript jquery onclick


【解决方案1】:

试试这个:

var onclick = $("a").attr("onclick"); //This is a string

检查小提琴:https://jsfiddle.net/p50keLy6/

【讨论】:

  • 我认为 prop 的使用现在比 attr 更受青睐,因为在未来的版本中将不再支持它?
  • 我在 jQuery 文档中没有找到这样的信息。要详细了解 attr()prop() 之间的区别,请访问此链接:api.jquery.com/attr
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-15
  • 2017-01-17
  • 2016-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多