javascript - 将事件监听器添加到 HTML span 标签

标签 javascript jquery events

我在电子商务中有一个购物车,当购物车的值(value)改变时,每个值(value)的横幅都不同。

当页面重新加载时,js 将运行并显示正确的横幅(当客户在购物车中添加另一个产品时会发生这种情况)。

但是当客户端只更改产品数量或从购物车页面中删除产品时不会重新加载一个然后想到使用事件监听器。

除了我的问题是值 ($)在标签内 <span> $ value </ span>而且不在输入范围内,因此我无法使事件监听器功能。

我该如何应用这个?代码如下:

jQuery(document).ready(function(){
 setTimeout(function(){
    trocaBannerCarrinho();
 }, 5000);

//here is the event listener that does not work!! 
jQuery("#value_total").on("change", function(){
   trocaBannerCarrinho();
}); 
});


function trocaBannerCarrinho(){

// condições para exibir os banners
var valor_cond1 = {min: 1, max: 980};//banner 1
var valor_cond2 = {min: 981, max: 1280};//banner 2
var valor_cond3 = {min: 1281, max: 1580};//banner 3
var valor_cond4 = {min: 1581, max: 1980};//banner 4
var valor_cond5 = {min: 1981};//banner 5

// recuperando o valor do carrinho
var total_carrinho = jQuery("#value_total").html();

// removendo R$, o ponto e trocando a virgula por um ponto
// o resultado final fica assim: 35.00, 1900.99, 20000.58, etc...
total_carrinho = total_carrinho.replace(/\s/g,'').replace('R$','').replace('.','').replace(',','.');

if ((total_carrinho >= valor_cond1.min) && (total_carrinho <= valor_cond1.max)) {
    jQuery('iframe[id^="google_ads_iframe_"]').contents().find('#banner1').show();

} else if ((total_carrinho >= valor_cond2.min) && (total_carrinho <= valor_cond2.max)) {
    jQuery('iframe[id^="google_ads_iframe_"]').contents().find('#banner2').show();

} else if ((total_carrinho >= valor_cond3.min) && (total_carrinho <= valor_cond3.max)) {
    jQuery('iframe[id^="google_ads_iframe_"]').contents().find('#banner3').show(); 

} else if ((total_carrinho >= valor_cond4.min) && (total_carrinho <= valor_cond4.max)) {
    jQuery('iframe[id^="google_ads_iframe_"]').contents().find('#banner4').show();

} else if (total_carrinho >= valor_cond5.min) {
    jQuery('iframe[id^="google_ads_iframe_"]').contents().find('#banner5').show();
}
}

最佳答案

我的猜测是,听众没有得到更新。尝试做

jQuery("document").on("change", '#value_total' ,function(){
   trocaBannerCarrinho();
}); 

关于javascript - 将事件监听器添加到 HTML span 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16550844/

相关文章:

javascript - 为什么在 Node 中B在A之前执行?

c# - XmlSerializer 抛出 InvalidOperationException

javascript - 重点在哪里?

javascript - 无法读取未定义的属性 '_header'

javascript - 在Safari Mac上按“ENTER”键上的按钮

javascript - 如何将单元格作为记录形式获取到其他表中?

jquery - 几次使用后jQuery Rotate滞后

cocoa - 我如何收到新窗口打开的通知?

javascript - 测试 Marionette 布局 View 中缺失的区域元素

javascript - 滚动锁定在移动设备上