我有jQuery或JavaScript中的函数调用序列或优先级的问题。如何在jquery或javascript中设置函数调用的顺序或优先级?
假设我在onclick事件上编写了不同的函数,您可以在下面给出的代码中看到我在onclick事件上有不同的函数。像
的(a)的onclick委托功能
(b)中的onclick bind函数
(c)中的onclick 点击功能
(d)的onclick INLINE点击功能。
我的问题是:我想调用其他onclick函数顶部的委托onclick函数,意思是当单击事件生成时,第一次调用应委托onclick函数而不是其他函数。有inLine onclick函数默认情况下首先调用,我不想要。
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function(){
$("body").delegate(".track", "click", function(){
alert("Delegate called");
});
$("a.track").click(function(){
alert("Click function called");
});
$(".track").bind("click", function(){
alert("Bind click called");
});
});
</script>
</head>
<body>
<table border="0">
<tr>
<td>
<p class="track">Click Me </p>
<input type="button" class="track" value="click me" />
<a href="http://google.com" class="track" onclick="javascript:alert('in Line on click called');">Go Google</a>
<br />
<a href="http://yahoo.com" class="track">Go Yahoo</a>
<br />
<a href="http://gaadi.com" class="track">Go Gaadi</a>
<br />
</td>
</tr>
</table>
</body>
</html>
谢谢您的回答。
我的问题是,我想跟踪特定网页上的每个点击事件。假设有一个内联或外部onclick事件调用某个函数或点击按钮或其他东西的链接。我希望,当点击事件产生我的特定功能时,应首先调用它,将发送ajax请求并更新数据库,在特定页面上生成特定链接或按钮上的特定点击事件。现在,在一个网站中可以有许多页面,并且在一个特定页面上可以有许多链接或按钮。我不想在现有代码中进行更改或修改。我只想要一个全局jQuery或JavaScript函数,它调用每个点击事件并在任何默认的onclick动作发生之前跟踪事件。
我想不出任何问题,结合多个点击处理程序可以解决重组代码解决不了更好的。或者以问题的形式:你为什么需要这样做? –
格雷格说的+1。考虑重构你的代码。 jQuery绑定事件的功能有一个可定义的模式,但是你不应该依赖这个模式。 – Anurag