有没有办法在内联$(selector).click(function)
之前或之前运行onClick="function"
?
另外,如果可能的话,我想阻止内联函数完全运行(在preventDefault()
内使用$(selector).click()
)。
这是说明优先顺序的小提琴:http://jsfiddle.net/yUZWR/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
的第二次调用。