ホームページ ウェブフロントエンド jsチュートリアル jqueryモバイルキーボードのキーアップの失敗に対する解決策を共有する

jqueryモバイルキーボードのキーアップの失敗に対する解決策を共有する

Jun 27, 2017 pm 02:23 PM
jquery keyup 無効

私が最近取り組んだタッチスクリーンバージョンのプロジェクトでは、キーアップを使用して入力値を監視する際に、電話機のキーボードの他のキーを押すのは問題ありませんでしたが、削除キーを監視できませんでした。 . ネットで次の解決策を見つけました。

(原文: http://blog.csdn.net/kongjiea/article/details/40186121)

検索ボックスは、ユーザーが入力した値に基づいてリアルタイムで検索します。当然ピンイン状態でキーアップを考えましたのときは問題なかったのですが、

質問1: 中国語入力方式に切り替えたら問題が出て、その後キーアップイベントが操作不能になりました。オンラインで検索したところ、このアイデアを見つけました。

質問 2: WeChat パブリック プラットフォーム の開発中に、お客様から「入力ボックスにコンテンツを入力すると、入力ボックスの後ろにクリア ボタンが表示され、内容をクリアできるようにする」という要望がありました。 「キーアップ」イベントを使用するとき、中国語入力メソッドの一部のキーが押されます。キーアップ イベントは無効です。


方法 1: 主にフォーカス イベントを登録する検索ボックスで、しばらくしてから検索し、コードを投稿します

<script language="javascript" type="text/javascript" src="jquery.js"></script>  
    <script>  
  
    $(function () {  
        $('#wd').bind('focus',filter_time);  
    })  
  
    var str = '';  
    var now = ''  
    filter_time = function(){  
        var time = setInterval(filter_staff_from_exist, 100);  
        $(this).bind('blur',function(){  
            clearInterval(time);  
        });  
    };  
  
    filter_staff_from_exist = function(){  
        now = $.trim($('#wd').val());  
        if (now != '' && now != str) {  
            console.log(now);  
        }  
        str = now;  
    }  
    </script>
ログイン後にコピー

方法 2: input イベントと propertychange イベントを使用して問題を解決します、

私のテストは dom2 のバインディング メソッドでのみ使用できます などdocument.getElementById('box').addEventListener('input',function(){...dosomething...},false);

html>  
<head>  
<script type="text/javascript" src="http://www.zlovezl.cn/static/js/jquery-1.4.2.min.js"></script>  
</head>  
<body>  
    <p>  
        使用oninput以及onpropertychange事件检测文本框内容:  
    </p>  
    <p>  
        <input type="text" name="inputorp_i" id="inputorp_i" autocomplete="off"/>  
        <span id="inputorp_s"></span>  
        <script type="text/javascript">  
            //先判断浏览器是不是万恶的IE,没办法,写的东西也有IE使用者  
            var bind_name = 'input';  
            if (navigator.userAgent.indexOf("MSIE") != -1){  
                bind_name = 'propertychange';  
            }  
            $('#inputorp_i').bind(bind_name, function(){  
                $('#inputorp_s').text($(this).val());  
            })  
        </script>  
    </p>  
</body>  
</html>
ログイン後にコピー

しかし、次のような jq バインディングを使用できると言う人もいます。

$('#input').bind('input propertychange', function() {  
                alert("....")  
            });
ログイン後にコピー

またはネイティブ:

<script type="text/javascript">  
// Firefox, Google Chrome, Opera, Safari, Internet Explorer from version 9  
function OnInput (event) {  
    alert ("The new content: " + event.target.value);  
}  
// Internet Explorer  
function OnPropChanged (event) {  
    if (event.propertyName.toLowerCase () == "value") {  
        alert ("The new content: " + event.srcElement.value);  
    }  
}   
</script>  
  
<body>  
    <input type="text" oninput="OnInput (event)" onpropertychange="OnPropChanged (event)" value="Text field" />  
</body>
ログイン後にコピー

最後に注意すべきことは : oninput です。 onpropertychange と onpropertychange の両方のイベントには、IE9 には小さなバグがあります。つまり、右クリック メニューの切り取りコマンドと削除コマンドを使用してコンテンツを削除するときにイベントがトリガーされません。ただし、IE の他のバージョンでは正常です。現時点ではあまり良い解決策ではありません。ただし、入力ボックスの値の変更を監視するには、oninput と onpropertychange が最適な方法です。

以上がjqueryモバイルキーボードのキーアップの失敗に対する解決策を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

jQueryのリファレンスメソッドを詳しく解説:クイックスタートガイド jQueryのリファレンスメソッドを詳しく解説:クイックスタートガイド Feb 27, 2024 pm 06:45 PM

jQueryのリファレンスメソッドを詳しく解説:クイックスタートガイド

Laravelのログイン時間が無効になるという一般的な問題を解決する方法 Laravelのログイン時間が無効になるという一般的な問題を解決する方法 Mar 06, 2024 pm 09:24 PM

Laravelのログイン時間が無効になるという一般的な問題を解決する方法

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? Feb 28, 2024 pm 03:12 PM

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか?

jQueryで要素の高さ属性を削除するにはどうすればよいですか? jQueryで要素の高さ属性を削除するにはどうすればよいですか? Feb 28, 2024 am 08:39 AM

jQueryで要素の高さ属性を削除するにはどうすればよいですか?

jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する Feb 28, 2024 pm 09:06 PM

jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する

jQuery を使用してすべての a タグのテキスト コンテンツを変更する jQuery を使用してすべての a タグのテキスト コンテンツを変更する Feb 28, 2024 pm 05:42 PM

jQuery を使用してすべての a タグのテキスト コンテンツを変更する

jQuery における eq の役割と応用シナリオを理解する jQuery における eq の役割と応用シナリオを理解する Feb 28, 2024 pm 01:15 PM

jQuery における eq の役割と応用シナリオを理解する

jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? Feb 29, 2024 am 09:03 AM

jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか?

See all articles