尝试了这个最新的一组代码的一些组合。简而言之,我将我的 javascript 从一个单独的文件运行到 html,我要做的就是设置一些代码以观察何时更改复选框以在其上运行一些逻辑。
尝试通过 .document.userdetails.signal、#signal(为此添加了类)和普通信号进行观看。
我会很感激一些指导,因为我在同一个 html 文件中查看了许多示例,所以我认为这是我试图解决按钮的方式。
<form id="userdetails" name="userdetails" action="javascript: savesettings()" >
<p>
<p>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup" data-type="horizontal">
<input name="signal" type="checkbox" class="custom" id="signal" value="1" checked="true" />
<label class="signal" for="signal">Traffic Data</label>
</legend>
</div>
和 Javascript
$(".document.userdetails.signal").click(function(e){
e.preventDefault();
alert('signal clicked!');
});
谢谢
人族
编辑 - 最后使用这个例子 -点击事件没有在 jQuery Mobile 中触发?
EDIT2 - http://forum.jquery.com/topic/calling-a-script-when-button-clicked添加了 $(document).ready 所以现在 $(document).ready(".document.userdetails.signal") .click(function(e){........ 当我打开应用程序时似乎注意到了变化 - 我想我现在需要找到正确的目标,因为 Jquery 重新创建了复选框等。
编辑 3 - Jasons 解决方案,尽管目标周围其他贡献者的评论很有用。
$(function() {
$("#userdetails").on("change","#signal",function(eventObj) {
//do code here.
eventObj.preventDefault();
});
});