我正在使用以下代码创建一个Jquery Mobile范围动态:
$('<input data-type="' + elementType + '" id="' + name +' " min=' + value1 +' max=' + value2 + ' value="127" >').appendTo("fieldset");
现在我想使用以下代码添加更改事件:
$(".brightness").change(function() {
alert("changed");
});
我不知道为什么它不起作用,我在定义事件后尝试刷新范围,我试图将事件绑定到范围,没有任何作用。包含第一个代码片段的函数首先被调用,包含第二个剪辑的函数被调用为第二个。
你们有人知道我做错了什么,或者我忽略了什么?
答案 0 :(得分:0)
对动态创建的元素使用方法
$(".brightness").on('change',function() {
alert("changed");
});
答案 1 :(得分:0)
您需要做两件事
1.将css类brightness
添加到您的范围输入
$('<input class="brightness" data-type="' + elementType + '" id="' + name +' " min=' + value1 +' max=' + value2 + ' value="127" >').appendTo("fieldset");
on
$(document).on("change",".brightness",function() {
alert("changed");
});
编辑 - 对于ID选择器使用#
而不是.
(点),如下所示
$(document).on("change","#brightness",function() {
alert("changed");
});
答案 2 :(得分:0)
我认为你使用点(。)来提供id亮度和按类调用Onchange事件。
如果id的名称是亮度则 你应该使用#
$("#brightness").on('change',function() {
alert("changed");
});
但如果您只想按类调用onchange
事件,那么您需要在输入中添加类并使用点(。)
$('<input class="brightness" data-type="' + elementType + '" id="' + name +' " min=' + value1 +' max=' + value2 + ' value="127" >').appendTo("fieldset");
$(".brightness").on('change',function() {
alert("changed");
});