关于javascript:void(0) 在不用的浏览器当中的表现

原因在于三款浏览器,对三个属性的处理顺序不同。
Chrome顺序:onclick -> href -> target
IE和Firefox顺序:onclick -> target -> href

 

而我的需求是点击a标签先执行某个方法,然后再打开新的窗口。           

                   <div class="form-group col-md-1 ">
                                <a id="exportBtn"  href="javascript:void(0)"  class="btn btn-primary btn-block pull-right" target="_blank" onclick="addParams();">导出订单</a>
                   </div>

 

a标签这样写,导致chrome 会打开一个窗口, 而firefox会打开两个窗口。

经过查阅资料,只需要在onclick 执行return false 即可终止后续操作。


          

       <div class="form-group col-md-1 ">
                                <a id="exportBtn"  class="btn btn-primary btn-block pull-right" target="_blank" onclick="addParams();return false;">导出订单</a>
       </div>

 

便可解决两个浏览器行为不一致的问题,可正确的仅打开一个窗口或链接。

 

         
               

 

posted @ 2017-10-30 15:10  CoderV的进阶笔记  阅读(858)  评论(0编辑  收藏  举报