关于js中文乱码问题和js事件代理动态生成div

在jsp中调用js的时候遇见了这样一个问题,运行的时候js中的中文乱码,解决方案:在jsp调用中<script type="text/javascript" charset="gbk" src="#"></script>加上charset="gbk"就可以了。

事件代理的意思就是onclick,onmouseover,onmouseout,通过父级来实现事件处理。


下面是我摘要的自己代码的一部分

红色标记意为动态生成;

绿色标记意为事件代理。

eg:

【jsp】

<div class="selected-view">
        <div id="selectedViewList" class="clearfix">
           
        </div>
</div>

【js】

    // 更新总数和总价格,已选浮层
    function getTotal() {
        var selected = 0, price = 0, html = '';
        for (var i = 0; i < tr.length; i++) {
            if (tr[i].getElementsByTagName('input')[0].checked) {
                tr[i].className = 'on';
                selected += parseInt(tr[i].getElementsByTagName('input')[1].value); //计算已选商品数目
                price += parseFloat(tr[i].getElementsByTagName('td')[4].innerHTML); //计算总计价格
                html += '<div><img src="'+tr[i].getElementsByTagName('img')[0].src+'"><span class="del" index="'+i+'">取消选择</span></div>';// 添加图片到弹出层已选商品列表容器
            }else{
                tr[i].className = '';
            }
        }
        selectedTotal.innerHTML = selected; // 已选数目
        priceTotal.innerHTML = price.toFixed(2); // 总价
        selectedViewList.innerHTML = html;
        if (selected==0) {
            foot.className = 'foot';
        }
    }


//已选商品弹层中的取消选择按钮
    selectedViewList.onclick = function (e) {
        var el = e.target || e.srcElement;
        if (el.className=='del') {
            var input =  tr[el.getAttribute('index')].getElementsByTagName('input')[0]
            input.checked = false;
            input.onclick();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值