1

私がやろうとしていることは次のとおりです。入力タイプのボタンがあり、最初のクリックでその機能を置き換えたいと思います。

<input type="submit" class="submit-button" value="Submit" name="boom" />

したがって、送信に役立つ[ボタン]は、いくつかのjqueryプラグインでアラートを表示したいのですが、ここでは通常のjavascriptアラート(デフォルトウィンドウ)で表示します。

したがって、最初のクリックでそれはなります

alert('Something');

そして2回目のクリックでそれはデフォルトの機能(送信)になります。

どうすればこのようなことを達成できますか?

もちろん、ボタンを1回クリックしてからページをリロードすると、最初のボタンクリックで同じアラートが再度表示されます。

4

2 に答える 2

4

を使用しone()ます。

要素のイベントにハンドラーをアタッチします。ハンドラーは、要素ごとに最大1回実行されます。

例:

$(".submit-button").one("click", function(e) {
    // will only run on first click of element
    e.preventDefault();
    alert("Something"); 
});
于 2012-08-04T19:59:36.850 に答える
1

これを試して:

<script type="text/javascript">
    var clicked = false;

    function btnClick(e) {
        if(clicked === false) {
            alert('Something');
            clicked = true;
            e.preventDefault();
            return true;
        } else {
            return false;
        }
    }
</script>

<input type="submit" onclick="btnClick(event)" class="submit-button" value="Submit" name="boom" />
于 2012-08-04T20:06:39.637 に答える