0

私は次のものを持っています:

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

これらのリンクのいずれかをクリックしてjavascript関数を呼び出し、データアクションを引数として渡すことができるjQueryの簡単な方法はありますか? これを使用してこれら 2 つのリンクを選択できると思うので、「アクセス」というクラスを入れましたが、次に何をすべきかわかりません。

4

4 に答える 4

2

1行

$("a.access").click(function(){ doSomeThing($(this).attr("data-action"))  })
于 2012-04-21T05:06:13.443 に答える
1

次のサンプルのいずれかを使用する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"));
});​
于 2012-04-21T05:13:04.277 に答える
0
​$('a.access')​.click(function() {
    console.log($(this).data('action'));
});​

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

したがって、イベント ハンドラー内ではthis、DOM オブジェクト$(this)として、または jQuery オブジェクトとして保持します。したがって、.data()jQueryメソッドを使用してdata-action値を取得できます

于 2012-04-21T05:04:53.573 に答える
0

そのとおり。次のようなことをしてください:

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

$('#login').click(callback)
于 2012-04-21T05:05:59.587 に答える