我添加了一个用作按钮的图像。
$('.vCSS_input_addtocart').after('<img id="custom_btn_addtocart" src="/v/vspfiles/templates/reverb/images/buttons/btn_addtocart.gif">');
在我的图片onClick事件上,我正在触发另一个按钮的点击事件,但似乎它正在触发两次。
$('#custom_btn_addtocart').click(function(){
$('.vCSS_input_addtocart').trigger('click');
});
我尝试了各种方法,例如检查is_clicked=false
或unbind("click").click()
但仍然没有运气:(
我点击的按钮标签是
<input class="vCSS_input_addtocart" type="image" src="/v/vspfiles/templates/reverb/images/buttons/btn_addtocart.gif" name="btnaddtocart" onclick="return addToCart(this.form, this);">
这是addToCart函数http://pastebin.com/Ysx1FSWS
答案 0 :(得分:0)
我认为您的案例中存在事件传播问题,请尝试使用return false
$('#custom_btn_addtocart').click(function(){
$('.vCSS_input_addtocart').trigger('click');
return false;
});
并在return false
点击事件处理程序中使用.vCSS_input_addtocart
。
答案 1 :(得分:0)
尝试preventDefault()和stopPropagation()
$('#custom_btn_addtocart').click(function(e){
e.preventDefault();
e.stopImmediatePropagation();
$('.vCSS_input_addtocart').trigger('click');
});
答案 2 :(得分:0)
试试这个jsFiddle:
$('#custom_btn_addtocart').click(function(){
$('.vCSS_input_addtocart').trigger('click');
});
$('.vCSS_input_addtocart').click(function(){
alert('test');
$('.vCSS_input_addtocart').after('<img id="custom_btn_addtocart" src="/v/vspfiles/templates/reverb/images/buttons/btn_addtocart.gif">');
})
答案 3 :(得分:0)
我通过
完成了这项工作$('.vCSS_input_addtocart').click(function (event) {
event.preventDefault();
event.stopPropagation();
}).click();