我正在尝试这样的事情
<div onclick="check_update('personal_details') ; showUser(2)">Click me </div>
但只有 check_update('personal_details')才会被调用。我想在单击DIV的同时执行两个单独的功能。任何帮助对我来说都很棒,因为我还处于学习阶段。提前致谢。
答案 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>