0

ユーザーがフォーカスされた入力フィールド内でカーソルを移動できないようにしたい。心配しないでください。これは、デフォルト値を独自の値に置き換え始めるまでのことです。

次のコードは、ユーザーが矢印キーを使用してカーソルを移動できないようにします。

$('.test').focus(function() {
    $(this).bind('keypress', function(event) {
        if (event.keyCode > 36 && event.keyCode < 41) {
            return false;
        } else {
            return true; 
        }      
    });
});

しかし、次のような同様のコード:

$('.test').focus(function() {
    $(this).bind('click', false);
});

クリックによって入力フィールド内でカーソルが移動するのを止めません。これら 2 つのシナリオの違いは何ですか?

4

3 に答える 3

2

keypressキーボードから入力が行われたときに発生するイベントです。clickマウスイベントです。

于 2012-11-02T19:44:29.703 に答える
0

多分これはあなたのために働きます:

$(".test").focus();
$(".test").bind('keydown', function(event) {
    if (event.keyCode > 36 && event.keyCode < 41) {
        return false;
    } else {
        return true; 
    }      
});
$(".test").bind('mousedown', function(event) {
    return false;
});​

http://jsfiddle.net/zEp36/を参照してください

これにより、入力フィールドでのすべてのマウスダウンアクションが防止されます。矢印キーも抑制されます。入力を開始するだけで、デフォルト値が置き換えられます。

于 2012-11-02T20:09:10.413 に答える
0

Here you go man...

$('#noclick').on('mousedown click', function() {
          return false;
});

Fiddle

于 2012-11-02T19:49:14.857 に答える