2012-04-21 36 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")); 
});​