关于阻止点击冒泡事件(webapp apicloud)

 // 用于链接到公用页面
    var toDetail = function(obj){

        var url = $api.attr(obj,'data-url');
        var title = $api.attr(obj,'data-title');

        api.execScript({
            name: 'root',
            script: 'indexToDetail("'+title+'","'+url+'")'
        });
        event.cancelBubble = true;
        event.preventDefault = true;
    };

我写了静态页面取点击没有问题,可是当我动态拼接字符串时又没用了,总是父元素触发事件。

 <li id="goods_li" data-title="外面" data-url="http://www.baidu.com" onclick="toDetail(this)">
                <img data-title="图片点击" data-url="http://www.baidu.com" onclick="toDetail(this)" src="../../image/comment_u.png"/>
                <div class="info">
                    <span class="gooName">商品名</span>
                    <div class="gooPrice">商品价格</div>
                </div>
            </li>

在线等,Q:315895718

 var toDetail = function(obj,event){

        var url = $api.attr(obj,'data-url');
        var title = $api.attr(obj,'data-title');

        api.execScript({
            name: 'root',
            script: 'indexToDetail("'+title+'","'+url+'")'
        });
        event.stopPropagation();
        event.preventDefault();
    };
        ===调用
        onclick="toDetail(this,event)

注意时间的传递,ie8-的event存储在window中,标准浏览器不是

  <li id="goods_li" data-title="外面" data-url="http://www.baidu.com" onclick="toDetail(this,event)">
                <img data-title="图片点击" data-url="http://www.baidu.com" onclick="toDetail(this,event)" src="../../image/comment_u.png"/>
var toDetail = function(obj,event){

    var url = $api.attr(obj,'data-url');
    var title = $api.attr(obj,'data-title');

    api.execScript({
        name: 'root',
        script: 'indexToDetail("'+title+'","'+url+'")'
    });
    event.cancelBubble = true;
    if(event.preventDefault)event.preventDefault()/// = true;//preventDefault是方法,不是属性,而且注意标准浏览器才有此方法
};