みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

jQueryのイベントに引数を渡したい

例えば以下のような既存のJavaScriptのコードをjQueryのイベントで書き直したい場合、関数の引数で渡していた値は、どうやって渡すのでしょうか?

【html】
<a href="" onclick="func_a('abc'); return false;"></a>

【JavaScript】
faunction func_a(param_a){
alert(param_a);
}

以下のようにすれば渡せないことはありませんが、かなり強引な感じがします。

【html】
<a href="" class="abc"></a>

【jQuery】
$(function() {
$("a").click(
function(){
var param = $(this).attr("class");
alert(param);
return false;
}
);
});

こういう場合はjQeuryであっても、onclick属性で関数を呼び出すのが普通なのでしょうか?
ご存知の方がいらっしゃいましたら教えてください。
よろしくお願い申し上げます。

投稿日時 - 2011-01-06 10:41:33

QNo.6428685

困ってます

質問者が選んだベストアンサー

HTML4 なら jQuery.data() で要素にデータを紐づけるとか。
http://api.jquery.com/jQuery.data/
http://d.hatena.ne.jp/rikuba/20100816/1281929108

投稿日時 - 2011-01-06 16:54:05

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

HTML5なら、
http://www.html5.jp/tag/attributes/data.html
というのもあり・・・

投稿日時 - 2011-01-06 16:00:13

ANo.1

jqueryのサイトのサンプルにちゃんと方法が載ってます。
確認しましたか!

http://api.jquery.com/bind/
http://api.jquery.com/click/
http://semooh.jp/jquery/api/events/bind/type%2C+%5Bdata%5D%2C+fn/


 $("a").click({hoge:"abc"},
  function(event){
   alert(event.data.hoge);
   return false;
  }
 );

投稿日時 - 2011-01-06 11:07:10

お礼

ご回答いただきありがとうございました。

そんな方法があったとは知りませんでした。

ただ、この方法の場合、パラメーターをjQuery側に記述しないといけないので、やはり使いにくいです。

HTML側から渡せればベストなのですが・・・。

投稿日時 - 2011-01-06 13:03:34

あなたにオススメの質問