0

私はこのフォームを持っています:

<form>
   <button id="my_button" type="submit">
</form>

そして、1秒ごとにonclick属性を追加/削除(トグル)する必要があります

SOから変更されています:

<button id="my_button" type="submit">

に:

<button id="my_button" type="submit" onclick="extraFunction()">

どうやってするか?

4

2 に答える 2

2

onclickインライン属性を切り替えないでください。目立たないイベント リスナーをバインドし、イベント コールバック内からチェックできるブール値を切り替える別のタイマーを用意します。

var handleClick = true;

setInterval(function () {
    handleClick = ! handleClick;
}, 1000);

$('button').click(function () {
    if ( handleClick ) {
        extraFunction();
    }
});

インライン属性を本当に切り替える必要がある場合は、これを使用します。

var $button = $('button');
var handleClick = true;

setInterval(function () {
    $button.attr('onclick', handleClick ? 'extraFunction()' : '');
    handleClick = ! handleClick;
}, 1000);

ここに fiddleがありますが、これは使用しないでください。何をしようとしても、インライン属性なしで実行できる可能性があります。

于 2013-09-04T19:49:26.270 に答える