私はjQueryの「onclick」属性を変更しようとしていますが、変更されません。私のコードは次のとおりです。
$('#stop').click(function() {
$('next').attr('onclick','stopMoving()');
}
Id = "stop"の要素があり、ユーザーがクリックすると、id = "next"を持つ要素のonclick属性を変更したい。
誰かが解決策がどこにあるかを知っているなら、助けてください!
JQueryの方法で実行します(そしてエラーを修正します):
_$('#stop').click(function() {
$('#next').click(stopMoving);
// ^-- missing #
}); // <-- missing );
_
要素に既にclick
属性を介してonclick
ハンドラーがアタッチされている場合、それを削除する必要があります。
_$('#next').attr('onclick', '');
_
更新: @Drackirが指摘したように、jQuery経由でアタッチされた他のクリックハンドラーを削除するために、$('#next').unbind('click');
を呼び出す必要があるかもしれません。
しかし、これはここで推測しています。いつものように:より多くの情報=>より良い答え。
@Richardが上で指摘したように、onClickには大文字の「C」が必要です。
$('#stop').click(function() {
$('next').attr('onClick','stopMoving()');
}
最も簡単な方法は、.attr()関数をjavascript関数.setAttribute()に変更することです
$('#stop').click(function() {
$('next')[0].setAttribute('onclick','stopMoving()');
}
このバージョンjquery-1.10.2で試してください!
Felix Klingの方法は機能しますが(実際に私を打ち負かしました)、使用することも提案しました
$('#next').die().live('click', stopMoving);
要素が複数回クリックされたときに問題や奇妙な動作に遭遇した場合、これはそれを行うためのより良い方法かもしれません。