3

いくつかのプレースホルダーをフォームに入れようとしています。Chrome と Firefox では正常に動作していますが、IE では動作しません (IE9 でテストしています)。問題は、入力イベントが入力にテキストを追加する場合にのみ発生し、削除する場合には発生しないことです (削除キー、切り取り、右クリックなど)。

これは私のコードです(jQueryを使用):

$input.on('input propertychange', function() {
    if($input.val() == '')
        $placeholder.show();
    else $placeholder.hide();
});

これは既知の問題である可能性があることを読みました。もしそうなら、回避策はありますか?

ご協力ありがとうございました。

4

2 に答える 2

1

特別なキーを確認したい場合は、keyupを使用する必要があります。

http://api.jquery.com/keyup/

$('input').keyup(function(e){
   if (e.keyCode == 13)
      console.log('enter!');  
});

変更時にイベントを発生させたいだけの場合は、変更イベントを使用する必要があります。

http://api.jquery.com/change/

$('input').change(function(){
   //When it changes
});
于 2013-01-20T19:54:15.120 に答える
0

keyupイベントを使ってみてください。これは、ユーザーがキーを放すたびにチェックするため、キーの組み合わせの削除とカットなどを押すことについてはかなり一貫したチェックです。

于 2013-01-20T19:15:34.607 に答える