gpt4 book ai didi

javascript - 动态事件上的 onchange 事件

转载 作者:行者123 更新时间:2023-11-28 15:54:37 24 4
gpt4 key购买 nike

我正在创建一个输入类型文件,代码如下

var ele=document.createElement("INPUT");
ele.type="file";
ele.id="ele"+i;
$("#media").append("<br>");
$("#media").append("<br>");
$('#media').append(ele);
$('#ele'+i).on('change',change());
function change()
{
alert("hello");
}

问题是创建元素时 hello 会收到警报,为什么?

最佳答案

此行不正确:

        $('#ele'+i).on('change',change());

应该是:

        $('#ele'+i).on('change',change);

您正在调用该函数,而不是将该函数作为参数传递。

但是您不需要在附加每个元素后执行此操作。为新元素指定一个类,并使用事件委托(delegate):

$("#media").on("change", ".file", change); // Do this just once
function change()
{
alert("hello");
}

var ele=document.createElement("INPUT");
ele.type="file";
ele.className = "file"
$("#media").append("<br>");
$("#media").append("<br>");
$('#media').append(ele);

关于javascript - 动态事件上的 onchange 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19337989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com