jQuery Inline onClick VS $(选择器).click Precedence

时间:2012-10-17 08:46:11

标签: jquery

有没有办法在内联$(selector).click(function)之前或之前运行onClick="function"

另外,如果可能的话,我想阻止内联函数完全运行(在preventDefault()内使用$(selector).click())。

这是说明优先顺序的小提琴:http://jsfiddle.net/yUZWR/1/

1 个答案:

答案 0 :(得分:1)

假设您的锚ID是link而不是#link,这就是如何反转函数执行顺序......

var v = $('#link').attr('onclick');

$('#link').removeAttr('onclick').click(function(){
    alert('captured');
    return false;
}).click(function() { eval(v); })

我确信有更好的方法,即不使用eval。要防止内联函数完全运行,只需省略对click的第二次调用。