2

テキスト入力と、入力に隣接する送信タイプのボタンが 1 つあります。イベント ハンドラーを入力にバインドfocusoutし、イベント ハンドラーをボタンにクリックします。入力にフォーカスして を押すenterと、focusoutイベント ハンドラーがトリガーされ、ボタン イベント ハンドラーがトリガーされます。focusoutテキスト ボックスのフォーカスが失われたときにのみトリガーしたい。私は何をすべきか ?

コード:-

 <div >
     <span>Local Currency: </span>
     <input type='text' id='txtFocusElement'  />
     <button id="btnClickElement" >
         <span> Add new line</span>
     </button>
 </div>

私はセレクターを次のように使用しました:

 $("#txtFocusElement").bind("focusout", function() {
      console.log('focusout');
 })
 $("#btnClickElement").bind("click", function() {
      console.log('click');
 })

上記のコードは、ドキュメントの読み込み時に呼び出す 1 つの関数に記述されています。

4

3 に答える 3

1

HTMLボタンタグに関するIE9の問題。

したがって、ボタンとして属性タイプを持つHTML入力タグで試してみてください。

上記のコードは次のように書き換えることができます。

<div >
     <span>Local Currency: </span>
     <input type='text' id='txtFocusElement'  />
     <input id="btnClickElement" type="button" value="Add new line" />
</div>

これを使用すると、私の問題は解決されます。

于 2012-08-24T09:38:48.880 に答える
0

mouseupの代わりにイベントに添付してみてくださいclick。これが今のところ唯一の解決策です

押されたマウス ボタンのチェックを追加して、ユーザーが右ボタンを押しても起動しないようにすることもできます。

var ClickElementEventHandler = function(e) {
    if (e.which != 1) return;
    //your code
};

$("#btnClickElement").bind("mouseup",ClickElementEventHandler)
于 2012-07-27T15:26:29.353 に答える
0

セレクターをinput[type=text]に変更してみてください。これは、テキスト フィールドに焦点を合わせたときにのみトリガーされます。

于 2012-07-27T06:57:37.440 に答える