伙计我有两个动作同步的问题。 在第一个链接:
<a href="#mytag1">Link 1</a>
<a href="#mytag2">Link 2</a>
<a href="#mytag3">Link 3</a>
和JQuery事件绑定:
$('a').click(function(){recognize_content_by_link()});
此函数使用其他函数(让它为geturl())window.location.href,解析它以从中获取'#mytagX'并加载内容。
问题是:我首先需要设置href,然后从window.location获取url以在binded函数中解析它。我试图通过setIll_val_by_link()这里使用的geturl()函数的setTimenterval来延迟它,但这是一个糟糕的解决方案。 有任何想法吗?需要它真的很快 - 考试时间:(非常感谢任何帮助!
(对不起我的语言)
答案 0 :(得分:1)
使用延迟0
的超时对事件进行排队。
$('a').click(function() {
setTimeout(function() {
recognize_content_by_link();
}, 0);
});
答案 1 :(得分:0)
我认为你需要这个:
$('a').click(function(e){
e.preventDefault();
recognize_content_by_link();
});
答案 2 :(得分:0)
您可以使用命名函数执行此操作:
$('a').click(recognize_content_by_link);
function recognize_content_by_link(event) {
event.preventDefault();
var hash = this.hash.replace(/^[#]/, '');
....
}
或匿名函数:
$('a').click(function(event) {
event.preventDefault();
var hash = this.hash.replace(/^[#]/, '');
....
});