var*_*r x 4 javascript jquery javascript-events
我有一个具有onclick属性的链接,并且有一个toggle事件,我绑定到链接(我知道我在这里通过混合这两个来犯罪,但我无能为力.)
我们这样的背景下,我有2个方案:
1,链接用户点击 -事件的执行顺序是: - onclick第一,那么触发事件通过jQuery绑定
2. 火的click通过jQuery事件执行此处的顺序-不同的是,绑定事件先触发然后触发onclick.
由于这两种情况和订单的翻转,有些事情发生了可怕的错误.我需要在绑定事件之前先运行绑定事件onclick.有没有比onclick在init上删除属性并将它们保存到链接.data()然后通过切换事件处理更好的方法呢?
我需要照顾的另一件事(生活很复杂),链接可以通过查询字符串切换.即如果用户通过另一个链接从另一个页面进入,则会有一个带有链接ID的查询字符串参数,该参数由另一个执行上述方案2的javascript函数读取.
因此,如果要删除onclick,则必须在init上完成.
我能做些什么来解开这个烂摊子?
移除.onclick函数并在之后重新绑定它(在绑定之前应该触发的所有方法之后)是什么错误?
HTML
<div id="foo" onclick="inline();">click me</div>
Run Code Online (Sandbox Code Playgroud)
使用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);
});
Run Code Online (Sandbox Code Playgroud)
在该代码之后,警报的顺序将是:
'I was bound via jQuery'
'I was bound through onclick='
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1261 次 |
| 最近记录: |