Javascript 从html.append附加的html下拉列表中获取返回值
我试图在对象上的Javascript 从html.append附加的html下拉列表中获取返回值,javascript,jquery,html,drop-down-menu,onchange,Javascript,Jquery,Html,Drop Down Menu,Onchange,我试图在对象上的鼠标悬停事件上生成一个动态下拉列表。我是这样完成的 canvas.on('mouse:move', function (e) { $('body').append("<div id='imageDialog' style='position: absolute; top: 0; left: 0'><select id='mySelect' onchange='copy();'><option value='wipro' >wi
鼠标悬停
事件上生成一个动态下拉列表。我是这样完成的
canvas.on('mouse:move', function (e) {
$('body').append("<div id='imageDialog' style='position: absolute; top: 0; left: 0'><select id='mySelect' onchange='copy();'><option value='wipro' >wipro</option><option value='Hcl' >Hcl</option><option value='krystal kones' >krystal kones</option></select></div>");
});
但正如预期的那样,它给出了错误uncaughtreferenceerror:copy未定义
我在这里呆了一段时间,一点运气都没有,我非常感谢你们专家们在这方面的帮助
谢谢。在不使用纯javascript的情况下,像下面的代码一样使用jQuery
$('document').ready(function(){
$('#imageDialog').on('click',function(){
alert($('#imageDialog select').value);
})
})
我不确定我是否理解其中的一些设计决策(生成选择框是使用下拉菜单的一种奇怪方式),但我们现在将跳过这一部分,开始讨论好的内容 当您在初始加载后向DOM添加新元素时,您需要以稍微不同的方式考虑事件绑定。由于这些初始元素在您第一次说“嘿,当我悬停在您身上时,所有元素都会这样做”,因此处理它的方式是告诉父元素。卡在jQuery的土地上:
$('.parent元素')。在('click','.child元素',函数(){})上代码>
这将提供与将单击直接指定给.child元素
相同的结果(如果它在初始渲染时存在)。您可以在此处阅读有关委派事件的更多信息:
这里有一把可以帮你清理东西的小提琴:非常感谢你的建议。我会检查这篇帖子:)非常感谢:)我会检查并发回嗨,答案并不是我预期的。非常感谢你的帮助。扎克·邓恩的回答对我有用:)
$('document').ready(function(){
$('#imageDialog').on('click',function(){
alert($('#imageDialog select').value);
})
})