0

JQUERY ウィジェットを使用するいくつかのアプリケーションに取り組んでいます。そのウィジェットには、テキスト、テキストエリア、ボタンなどの入力フィールドがあります。これらのフィールドには TAB からしかアクセスできませんが、マウスの直接クリックではアクセスできません。このアプリは Chrome で正常に動作します。これらのフィールドを持つ単純な html は機能しますが、それらのフィールドを js ファイルに追加してから、それらのファイルを他の js ファイルで呼び出すと、それらのフィールドは Firefox で機能しません。

これはjsファイルです:

var AddNewDepartment = "<br />\
<form>\
<table class='AddNewDepartment-table'>\
<tr>\
<td>\
Department Name:<span style='color: red'>*</span>&nbsp;\
<input type='text' name='departmentName' id='departmentName' class='expanded-input-text' />\
<input type='button' name='save' id='save' onclick='createDepartment()' Value='Save' class='newDepartment-submit' />\
<input type='button' name='cancel' Value='Cancel' class='newDepartment-submit'  />\
</td>\
</tr>\
</table>\
</form>\
";

この問題を解決するには助けが必要です。

4

1 に答える 1

0

あなたの投稿から、フォームをDOMに動的に追加しているようです。つまり、ページの読み込み後です。その点で、それらのデリゲートイベント処理が必要です。

次のように試すことができ.on()ます:

$(document).on('click', 'form AddNewDepartment-table input,form AddNewDepartment-table textarea', function() {

 // your code

});

デリゲートイベント処理の構文.on()は次のとおりです。

$(StaticParent).on( eventName, targets, handlerFunction );

StaticParentこれは、動的ではなく、ページの読み込み時にDOMに属するDOM要素を意味します。eventName複数のイベントをバインドするためにスペースで区切ることができます。

于 2012-07-30T13:37:13.657 に答える