从可点击的div内的按钮中删除锚点效果

时间:2014-05-19 10:02:55

标签: javascript jquery jquery-mobile

我有一个完全可点击的div。但现在我添加了一个按钮,点击弹出窗口。但我面临的问题是。当我单击信息按钮时,会出现弹出窗口,但页面也会转到引用页面,该页面将添加到最外层的div中。

我的HTML代码在这里

<div style="cursor:pointer; background:" onclick="location.href='http://inmotico.com';" class="contenido_anuncio">
    Here if you click any where it will take you to the page
   <div style="font-size:14px;" class="anuncio_priceiimo">
<div style="margin-top: 0px; padding-left: 0px; margin-bottom: 0px;" class="ui-btn-inline">

    <div style="margin-top: 10px;" class="ui-block-a"> <a class="ui-link" style="color: #FF6600;"></a><a style="color: #FF6600;" class="ui-link">¢ 217,277,650.00</a></div>
<div class="ui-block-b">
    <a style="border:none !important;margin:0px 0px 0px 10px;" data-shadow="false" title="info" data-iconpos="notext" data-icon="info" data-role="button" href="#mDialog1" data-enhance="true" class=" ui-link ui-btn ui-icon-info ui-btn-icon-notext ui-corner-all" data-rel="popup" aria-haspopup="true" aria-owns="mDialog1" aria-expanded="false" role="button">INFO</a>
    </div>
</div>
</div>
</div>

这是FIddle **

1 个答案:

答案 0 :(得分:2)

首先,你需要学习在使用jQuery Mobile时不使用内联javascript,这是一个很大的不行。

工作示例:http://jsfiddle.net/Gajotres/NNj2T/

HTML:

<div style="cursor:pointer; background:"  class="contenido_anuncio" >
    Here if you click any where it will take you to the page
    <div style="font-size:14px;" class="anuncio_priceiimo">
        <div style="margin-top: 0px; padding-left: 0px; margin-bottom: 0px;" class="ui-btn-inline">

            <div style="margin-top: 10px;" class="ui-block-a">
                <a class="ui-link" style="color: #FF6600;"></a><a style="color: #FF6600;" class="ui-link">¢ 217,277,650.00</a>
            </div>
            <div class="ui-block-b">
                <a style="border:none !important;margin:0px 0px 0px 10px;" data-shadow="false" title="info" data-iconpos="notext" data-icon="info" data-role="button"  data-enhance="true" class=" ui-link ui-btn ui-icon-info ui-btn-icon-notext ui-corner-all" aria-haspopup="true" aria-owns="mDialog1" aria-expanded="false" role="button" id="info-btn">INFO</a>
            </div>



        </div>
    </div>
    <div data-role="popup" id="mDialog1" data-overlay-theme="a" data-theme="a" data-corners="true" data-dismissible="true">POPUP</div>

</div>

的JavaScript:

$(document).on('vclick', '#info-btn',function(event) {
    $('#mDialog1').popup('open');
    event.stopPropagation();
    event.stopImmediatePropagation();
});

$(document).on('vclick', '.contenido_anuncio',function(event) {
    location.href='http://inmotico.com';
    //alert('asdasd');
});

链接:

了解javascript和jQuery here here中的事件传播。基本上在这个例子中,如果你以编程方式执行所有操作,则不必担心事件失误。