2017-04-06 44 views
0

我正在一个网站上安装了一个插件,它将一个单击事件添加到按钮并在事件处理程序中调用preventDefault。javascript/jquery override preventdefault?

我需要在同一按钮的Click事件作出回应,但启用该插件时,我的代码不会被调用,我以为是因为插件已经呼吁了preventDefault的事件。

有没有办法解决这个问题?

编辑

alert('pageload'); 
document.getElementById('add-to-cart-button-45890').addEventListener('click', function(){ 
alert('addtocart'); 
fbq('track', 'AddToCart', { 
content_ids: ['145890'], 
content_type: 'product', 
value: 45.00, 
currency: 'GBP' 
});}); 
$('#add-to-wishlist-button-145890').on('click',function() { 
fbq('track', 'AddToWishlist', { 
content_ids: ['145890'], 
content_type: 'product', 
value: 45.00, 
currency: 'GBP' 
});}); 

这是我到目前为止已经试过。警报('pageLoad')被击中。我已经尝试了javascript和jquery来添加我的点击事件处理程序。

并重申,如果我禁用插件,我的代码工作得很好。

+1

你能提供你已经试过的代码吗?这将是最有帮助的! :-) –

+4

'的preventDefault()'不会阻止你的工作将任何其他事件处理程序。我们需要看到你的代码,以帮助您 –

+0

如果当你点击它实际进入您为事件提供的代码按钮,您应该检查。正如@RoryMcCrossan所说,'preventDefault()'只能防止按钮点击的默认效果,它不会阻止任何其他操作分配给按钮。 –

回答

0

谢谢大家的意见。 @Mihail - 如果你在我的代码中注意到,我在点击处理程序中有一个提醒,告诉我代码是否被命中。

我其实现在解决了它 - 它似乎已经在插件中的计时问题是操纵在页面加载的元素,我认为这在某种程度上阻止我的事件处理程序的工作。我在window.onload中封装了我的代码,现在它工作得很好