3

JQueryを使用して解決策を探していたか、ボタンがonclickアクションを実行しないようにするためにtwitterブートストラップクラスを変更していました。しかし、結果IVは、これまで正常に行われておらず、主にのみ無効になっているの外観を与えるが、まだ正常に実行が見つかりました:Jquery/bootstrap無効化ボタン

$("#previous").prop('disabled', true); 
$("#next").prop('disabled', true); 

目的は、タブインデックスが高すぎる、または低すぎるとスワップのタブを防ぐためです。他のほとんどのソリューションには、比較的シンプルな機能のための不要なJavascriptと思われる膨大な量が含まれているようです。このような

:バインドされた機能を削除することになっている

$("#previous").click(function() { 
    var me = $(this); 
    me.unbind("click");    
}) 

は、しかし、ときタブインデックスが上昇イベントを再取り付けも意味します。ボタンを一時的に無効にしたり、イベントを削除したりボタン要素を表示したりせずにデフォルトのアクションが実行されないようにする簡単な解決法はありますか?

任意の助けいただければ幸い:)

答えて

7

あなたはTwitterのブートストラップを使用している場合は、すでにあなたのために実装され、この正確に動作があります。

無効にする要素のクラス.disabledを変更するだけで済みます。

同様:

$("#previous").addClass('disabled'); 
+0

このようなクラスを追加し、ユーザーが簡単にブラウザの検査要素にアクセスして、この「無効」クラスを削除することができますので、最高のアイデアではありません。偽を返して追加コードを書くのが最善です。 –

+1

すべてのjavascriptコードはユーザー側で実行されます。開発ツールを使用して検査するユーザーを考えれば、このユーザーはJavaScriptロジックのほとんどを変更できます。これはより良いフィードバックのためだけであるはずですが、あらゆるタイプの危険な動作はバックエンドで検証する必要があります。 –

1

あなたはevent.preventDefault()

$("#previous").click(function(event) { 
    //add logic to attach style behavior here or conditionally prevent default 
     event.preventDefault();  
}); 
1

を使用して、デフォルトのアクションは、私は簡単な例をお見せしましょう防ぐために必要があります。ここでは、一度クリックするとボタンが無効になります。

<button class="btn btn-danger">Click Me</button> 

$('.btn-danger').on('click', function() { 

    if ($(this).hasClass('disabled')) { 
     return false; 
    } else { 
     $(this).addClass('disabled'); 
    } 
}); 
関連する問題