我有一个默认值为'2'的输入元素:
<input type="text" class="chapter" value="2" />
使用jQuery mobile时显示如下:
<div class="ui-input-text ui-shadow-inset ui-corner-all ui-btn-shadow ui-body-c">
<input type="text" class="chapter ui-input-text ui-body-c" value="2">
</div>
我希望每次用户更改值时都会执行某些操作,因此我说:
$('.chapter').change(function(i, el) { alert("coding is epic"); });
但是,当我将值更改为“5”并单击该元素时,没有任何反应。检查开发人员工具会显示该值仍为“2”,即使屏幕上显示“5”。
奇怪的是,它确实适用于以下元素:
<input id="UploadFile" type="file" name="datafile">
当要求使用时:
$('#UploadFile').change(function(e){ //aaaaargh! });
如果此值发生变化,我该怎么办?此外,页面上有许多元素class="chapter"
,所有类型都为<input>
,我尝试使用$('.chapter').each().change(function(i, el) {
答案 0 :(得分:0)
Kevin B写了一条评论:
它不起作用的唯一原因是你输入的原因 附加事件处理程序时不存在交互
你的天才凯文!它不起作用,因为<input>
在页面上动态加载,并且在运行document.load函数时不存在。
我应该改变
$('.chapter').change(function(i, el) { #### });
到
$('.container').on('change', '.chapterPageFrom', function() { #### });
EPIC!