我们可以调用两个函数onClick事件

时间:2012-05-08 12:27:47

标签: javascript jquery ajax html division

我正在尝试这样的事情

<div onclick="check_update('personal_details') ; showUser(2)">Click me </div>

但只有 check_update('personal_details')才会被调用。我想在单击DIV的同时执行两个单独的功能。任何帮助对我来说都很棒,因为我还处于学习阶段。提前致谢。

3 个答案:

答案 0 :(得分:7)

您无法同时执行两项功能。 Web浏览器中的JavaScript是单线程的。

您拥有的代码将按顺序执行这些函数,前提是第一个函数不会抛出异常并终止执行。

如果它确实抛出异常,那么你应该尝试解决这个问题。作为一个蛮力黑客:

try {
    check_update('personal_details') ; 
} catch (e) {
    alert("Oh no! An exception! " + e);
}
showUser(2);

...但是,首先防止错误显然是一个更好的解决方案!

答案 1 :(得分:3)

你的问题被标记为jQuery,所以我假设你正在使用它。在这种情况下,您根本不应该使用onclick属性。这是从jQuery角度编写代码的正确方法:

<div id="yourId">Click me</div>

<script type="text/javascript">
$('#yourId').click(function(e) {
    e.preventDefault();
    check_update('personal_details'); 
    showUser(2);
});
</script>

答案 2 :(得分:2)

在闭包内使用函数。将otherFunction替换为您要调用的第二个函数的名称,所有内容都应按预期工作。

<div onclick="(function(){check_update('personal_details'); otherFunction(); })()">Click me </div>