gpt4 book ai didi

javascript - onclick 和 jQuery 事件绑定(bind)导致痛苦

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:38:28 27 4
gpt4 key购买 nike

我有一个链接 onclick属性,并且有一个我绑定(bind)到链接的切换事件(我知道我在这里通过混合这两者犯了罪,但我对此无能为力。)

现在对于这个背景,我有 2 个场景:

  1. 用户点击链接 - 事件的执行顺序是:- onclick首先,然后是通过 jQuery 绑定(bind)的切换事件
  2. 启动 click通过 jQuery 的事件 - 这里的执行顺序不同,绑定(bind)事件首先触发,然后是 onclick .

由于这两种情况和订单的翻转,出现了可怕的错误。我需要绑定(bind)事件在 onclick 之前先运行.有没有比删除 onclick 更好的方法呢?初始化属性并通过.data()将它们保存到链接中然后通过切换事件处理?

我需要处理的另一件事(生活很复杂),可以通过查询字符串切换链接。即,如果用户通过另一个链接从另一个页面进入,将有一个带有链接 ID 的查询字符串参数,该参数由执行上述场景 2 的另一个 JavaScript 函数读取。

所以如果 onclick要删除,必须在初始化时完成。

我能做些什么来理清这个烂摊子?

最佳答案

删除 .onclick 函数并在之后重新绑定(bind)它有什么错(在绑定(bind)了所有应该在之前触发的方法之后)?

HTML

<div id="foo" onclick="inline();">click me</div>

Javascript

function inline() {
alert('I was bound through onclick=');
}

$(function() {
var $foo = $('#foo'),
stored = $foo[0].onclick;

$foo[0].onclick = null;

$foo.bind('click', function() {
alert('I was bound via jQuery');
});
$foo.bind('click', stored);
});

在该代码之后,警报的顺序为:

'I was bound via jQuery'
'I was bound through onclick='

演示:http://jsfiddle.net/3MKWR/

关于javascript - onclick 和 jQuery 事件绑定(bind)导致痛苦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5323674/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com