【发布时间】:2013-04-28 01:27:54
【问题描述】:
我不确定如何解决这个问题。
我在 HTML 中制作了一些按钮,并添加了一些数据属性。这些按钮有一个名为 roleBtn 的类,它将调用我的 jQuery roleBtnClicked 函数并获取 HTML 数据属性中的变量。
$(".roleBtn").click(roleBtnClicked);
function roleBtnClicked(event){
reg.roleName = $(this).html(); /* Get role name: Actor */
reg.blueBtn = $(this).data('blue'); /* Get blue-btn-1 */
reg.the_Num = $(this).data('num'); /* Get the number */
reg.modal_ID = $(this).data('modal'); /* Get modal-1 */
现在使用此信息,单击roleBtn 后会出现一个模式窗口,然后我有一个doneButton 将关闭模式窗口并使用数据属性中的变量然后在飞。这个新的 HTML 将包含一个类为 blueBtn 的按钮。
我的问题是我的blueBtn 的点击功能不适用于动态创建的蓝色按钮。它将适用于事先已经具有类 blueBtn 的 div,但如果它是动态创建的则不起作用。
您知道解决方法吗?还是我错过了一些简单的东西?
点击doneButton 后,我有另一个函数可以即时创建新的 HTML,包括 blueBtns:
$('.selected_row .choices-col-left').append('<div class="blueBtn-holder" id="blueBtnHolder-'+theNum+'"><div class="blueBtn" id="'+blueBtn+'" row="'+rowName+'" modal="'+modal_ID+'" num="'+theNum+'">'+roleName+'</div></div>');
我的蓝色按钮点击功能不起作用
$(".blueBtn").click(blueBtnClicked);
function blueBtnClicked(event){
alert("Where are you blueBtn on the fly?");
console.log("Where are you blueBtn on the fly?");
};
【问题讨论】:
-
动态元素将需要 on() 的委托版本,搜索会为您提供这个问题的无数答案?
-
(O.T.) 当你输入询问 Q 的 [jQuery] 标签时,应该会弹出一个窗口说:“嘿你!你知道很酷的
.on()方法吗?” :) 我们真的很怀念这个功能! -
stackoverflow.com/questions/11288516/… 和其他 100 个 Q 的可能重复项
标签: javascript jquery html click jquery-events