输入文本和按钮字段在Firefox中不起作用

时间:2012-07-30 13:35:23

标签: javascript jquery jquery-ui firefox widget

我正在开发一些使用JQUERY小部件的应用程序。在该小部件中,有一些输入字段,如text,textarea和button。我只能通过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>\
";

拜托,我需要帮助才能解决这个问题。

1 个答案:

答案 0 :(得分: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可能是空格分隔的,用于多个事件绑定。