(因为2天我对此没有任何问题……)
我有一个多页面布局,在我的一个页面中,我有一个像这样的结构:
<div id="view_offer" data-role="page"> <div data-role="header"> <h1>Edit Offer</h1> </div> <div data-role="content"> <p><label><input id="auto_renew" type="checkBox" name="checkBox-0">Auto renew?</label></p> </div> </div>
<script src="js/cordova-2.5.0.js"></script> <script src="js/jquery-1.8.2.min.js"></script> <script src="js/jquery.mobile-1.3.0.min.js"></script> <script src="js/home_m_scripts.js"></script>
我的home_m_scripts.js文件:
$("#auto_renew").change(function(){ alert("Changed!"); });
我的改变事件并没有触发,我在这里失去了.
解决方法
更改您的代码:
$("#auto_renew").change(function(){ alert("Changed!"); });
至:
$(document).on('change','#auto_renew',function(){ alert("Changed!"); });
绑定此类事件时,它将充当事件委派.基本上,当您执行此绑定时,对象不需要存在于DOM中.