更改我的。使用jQuery单击类型
我正在将我的dom从:更改我的。使用jQuery单击类型,jquery,Jquery,我正在将我的dom从: <div class="empty item1 ui-state-default" id="add1"></div> 但问题是,这仍然是打开点击,这是火灾准备就绪 $('.ui-state-default').bind('click', function(e) { $(".upload").show(); }); 使用.bind()注册事件处理程序时,将在执行事件注册代码时测试选择器,即将事件处理程序添加到元素中。在此之后对元素所
<div class="empty item1 ui-state-default" id="add1"></div>
但问题是,这仍然是打开点击,这是火灾准备就绪
$('.ui-state-default').bind('click', function(e) {
$(".upload").show();
});
使用.bind()注册事件处理程序时,将在执行事件注册代码时测试选择器,即将事件处理程序添加到元素中。在此之后对元素所做的更改不会影响处理程序的执行,只要它没有被注销
在您的情况下,一个可能的解决方案是使用事件委派模型,在调用处理程序之前测试选择器
改变
$('.ui-state-default').bind('click', function(e) {
$(".upload").show();
});
到
更新:
使用bind的变通解决方案
$('.ui-state-default').bind('click', function(e) {
if($(this).hasClass('ui-state-default')){
$(".upload").show();
}
});
是的,但在触摸屏上,它可能有一个与我猜测的单击不同的事件。我使用了.bind,因为它理解bind。@Blynn可能你应该在问题中提到它,它没有提到任何关于移动的内容
$('.ui-state-default').bind('click', function(e) {
$(".upload").show();
});
$(document).on('click', '.ui-state-default', function(e) {
$(".upload").show();
});
$('.ui-state-default').bind('click', function(e) {
if($(this).hasClass('ui-state-default')){
$(".upload").show();
}
});