2012-04-21 49 views
0

調用JavaScript函數我有以下幾點:從鏈接

<li><a id="register" 
     class="access button red" 
     data-action="Register" 
     title="Login"><span class="smaller">REGISTER</span></a></li> 
    <li><a id="login" 
     class="access button red" 
     data-action="Login" 
     title="Login"><span class="smaller">LOGIN</span></a></li> 

是否有jQuery的一個簡單的方法,我可以讓其中一個鏈接的點擊調用 javascript函數,並傳入數據作爲一個參數。我把這個課程稱爲 「訪問」,因爲我想我可以用它來挑選出這兩個鏈接,但接下來我不確定 接下來要做什麼。

回答

1
​$('a.access')​.click(function() { 
    console.log($(this).data('action')); 
});​ 

http://jsfiddle.net/zerkms/EWSCJ/

所以事件處理程序中,你有this作爲一個DOM對象,或者$(this)作爲一個jQuery對象。所以,你可以使用jQuery的.data()方法來檢索data-action

1

是的,絕對。剛做這樣的事情:

var callback = function() { 
    var $el = $(this); 
    alert($el.data('action')); 
};​ 

$('#login').click(callback) 
3

一行

$("a.access").click(function(){ doSomeThing($(this).attr("data-action")) }) 
2

您可以使用下面的示例之一,event.preventDefault();將停止導航到超鏈接。

$("a.access").click(function(event) { 
    event.preventDefault(); 
    customFunction($(this).attr("data-action")); 
}); 

$("a.access").click(function(event) { 
    event.preventDefault(); 
    customFunction($(this).data("action")); 
});​