我有以下jQuery代码:
$("#btnReset").click(function () {
ColReorder.fnReset(oTable);
return false;
});
HTML如下:
<div style="padding: 5px 5px 1px 0px; float: right" id="globalbutton-row" class="ex">
<button class="button" type="button" id="btnReset"><%=rb.getString("button.reset")%></button>
<button class="button" type="button" id="btnDeveloperSampleMenu" onclick="javascript:CallDeveloperSampleMenu()"><%=rb.getString("button.devsamplemenu")%></button>
</div>
我想要按钮&#39;重置&#39;启动函数ColReOrder.fnReset但由于某种原因这不起作用。
答案 0 :(得分:2)
您必须小心不要在尚未加载的DOM中引用任何内容。如果在您的代码被触发之前未将<button>
加载到DOM中,则不会发生任何事情。您可以通过在加载所有内容时运行代码来解决此问题:
$(document).ready(function() {
$("#btnReset").click( function () {
ColReorder.fnReset( oTable );
return false;
} );
});
如果通过AJAX或其他方式添加<button>
,您将遇到同样的问题。您可以使用on()方法解决此问题:
$(document).ready(function() {
$(document).on('click',"#btnReset", function(event) {
ColReorder.fnReset( oTable );
return false;
} );
});
答案 1 :(得分:1)
尝试使用事件委派。当你的javascript被执行时,元素没有被加载到dom中。将click事件附加到文档将使代码工作,方法是在单击时单击然后搜索选择器。
$(document).on('click','#btnReset',function () {
ColReorder.fnReset( oTable );
return false;
} );
答案 2 :(得分:0)
您必须在加载文档后执行代码。
$(function() {
$("#btnReset").click( function () {
ColReorder.fnReset( oTable );
return false;
});
});