プロが教える店舗&オフィスのセキュリティ対策術

例えば以下のような既存の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属性で関数を呼び出すのが普通なのでしょうか?
ご存知の方がいらっしゃいましたら教えてください。
よろしくお願い申し上げます。

A 回答 (3件)

jqueryのサイトのサンプルにちゃんと方法が載ってます。


確認しましたか!

http://api.jquery.com/bind/
http://api.jquery.com/click/
http://semooh.jp/jquery/api/events/bind/type%2C+ …


 $("a").click({hoge:"abc"},
  function(event){
   alert(event.data.hoge);
   return false;
  }
 );
    • good
    • 0
この回答へのお礼

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

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

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

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

お礼日時:2011/01/06 13:03

HTML5なら、


http://www.html5.jp/tag/attributes/data.html
というのもあり・・・
    • good
    • 0

HTML4 なら jQuery.data() で要素にデータを紐づけるとか。


http://api.jquery.com/jQuery.data/
http://d.hatena.ne.jp/rikuba/20100816/1281929108
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!