1

我的项目中有这样的东西:

<input onchange="doSomething();" .... />

<a href="url" ... ></a>

如果输入字段被聚焦并且我单击“a”链接,浏览器将转到 URL,并且事件 onchange 仅在此之后触发。但我想首先运行函数“doSomething()”,然后才转到 url。如何更好地解决?

4

3 回答 3

1

删除内联 javascript 并使用 jQuery。最好将一些 ID 或类添加到这些元素以定位它们。

$('input').on('change', doSomething);

$('a').on('click', function(e) {
     e.preventDefault();
     doSomething();
     document.location.href = this.href;
});

假设doSomething()不是异步的,因为那将完全不同。

于 2013-06-28T16:49:10.433 回答
-1

你可以用 jQuery 做这样的事情(未测试)

<a href="#">..</a>

$('a').click(function(){
    dosomething();
    $(this).attr('href', 'url');
});
于 2013-06-28T16:48:56.133 回答
-1

而不是 onchange 事件,在 Input 使用 onblur。

<input onblur="doSomething();" type="text" />
<a href="http://www.google.com">Hello</a>

如果只有javascripthttp://jsfiddle.net/Bhaarat/V3wT9 才能满足要求,那么为什么要创建jquery的开销?请让我知道拒绝投票的原因

于 2013-06-28T16:50:20.930 回答