我的项目中有这样的东西:
<input onchange="doSomething();" .... />
<a href="url" ... ></a>
如果输入字段被聚焦并且我单击“a”链接,浏览器将转到 URL,并且事件 onchange 仅在此之后触发。但我想首先运行函数“doSomething()”,然后才转到 url。如何更好地解决?
我的项目中有这样的东西:
<input onchange="doSomething();" .... />
<a href="url" ... ></a>
如果输入字段被聚焦并且我单击“a”链接,浏览器将转到 URL,并且事件 onchange 仅在此之后触发。但我想首先运行函数“doSomething()”,然后才转到 url。如何更好地解决?
删除内联 javascript 并使用 jQuery。最好将一些 ID 或类添加到这些元素以定位它们。
$('input').on('change', doSomething);
$('a').on('click', function(e) {
e.preventDefault();
doSomething();
document.location.href = this.href;
});
假设doSomething()
不是异步的,因为那将完全不同。
你可以用 jQuery 做这样的事情(未测试)
<a href="#">..</a>
$('a').click(function(){
dosomething();
$(this).attr('href', 'url');
});
而不是 onchange 事件,在 Input 使用 onblur。
<input onblur="doSomething();" type="text" />
<a href="http://www.google.com">Hello</a>
如果只有javascripthttp://jsfiddle.net/Bhaarat/V3wT9
才能满足要求,那么为什么要创建jquery的开销?请让我知道拒绝投票的原因