我有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