0

クリック時に関数を呼び出す際に問題が発生します。以下は私のコードです:

JavaScript:

$(document).ready(function(){       
    function showMessage(msg) {
        alert(msg);
    };      
})

HTML:

<input type="button" value="ahaha"  onclick="$(this).showMessage('msg');" />

どういうわけかclick()関数が使えません。私を助けてください。

4

4 に答える 4

4

いくつかのこと:

  • showMessage()jQuery オブジェクトのプロパティではありません。あくまで通常の機能です。
  • jQuery を使用している場合は、使用しないでくださいonclick。すべてのイベントを JavaScript でバインドします。

このコードを修正するには、いくつかの方法があります。ここに1つあります:

JavaScript :

$.fn.showMessage = function(message) {
  alert(message);
};

$(document).ready(function() {  
  $('#button').on('click', function() {
    $(this).showMessage('I am a message');
  });
});

HTML :

<input type="button" value="ahaha" id="button" />
于 2012-07-07T05:14:25.543 に答える
1

せずに$(this)..次のように呼び出してください:onclick="showmessage('msg')"

于 2012-07-07T05:13:41.507 に答える
1
$(document).ready(function(){      
        function showMessage(msg) {
       alert(msg);
    };      <-----  i think this semicolon is not needed
        })  <-----  Should provide semicolon here as its the main function ending
于 2012-07-07T05:15:18.967 に答える
0

これにはいくつかの方法があります。

html にいくつか変更を加えさせてください。

<input id="myTest" value="CLICK ME!!!" title="HELLO WORLD!!!" type="button" />

次に、jQuery でこれを行う方法を見てみましょう

$(document).ready(function() {
  $('input#myTest').click(function() {
    var el = $(this),
        msg = el.attr('title');
    alert(msg);
  });
});

これが役に立てば幸いです、乾杯

于 2012-07-07T05:22:46.027 に答える