点击事件未从 href 链接触发

问题描述 投票:0回答:3

我有一个奇怪的问题,我将尽力解释。我有一个标题,该标题中有一个菜单。当网站首次加载时,它会加载 main.php,如果我单击菜单中的链接打开对话框窗口,则不会发生任何情况。但是,如果我导航到另一个页面,该链接将起作用。我无法理解为什么会发生这种情况,因为标题加载时菜单加载正确。如果有人可以就我可以尝试的事情提供一些建议,我将不胜感激。所有浏览器中都会发生这种情况。谢谢

html代码

<div class="col_1">    
    <h3>Boxes</h3>
    <ul>
      <li><a href="#" class="BA">Add Box(es)</a></li> <!-- This is the culprit. -->
      <li><a href="/domain/admin/requests/boxes/index.php">Administration</a></li>
    </ul>   
</div>

jquery 代码

$(function(){
      $("a.BA").click(function(){
        $("#boxaddform").dialog('open');
      });
});
jquery html dialog
3个回答
2
投票

使用

preventDefault
覆盖您为
href
属性设置的值:

$("a.BA").click(function(e){
  e.preventDefault();
  $("#boxaddform").dialog('open');
});

编辑

看完你的小提琴后,重要的是你还要做一件事 - 在调用

open
之前初始化对话框,如下所示:

 $("#boxaddform").dialog({
        autoOpen: false
 });

您无法在不存在的

open
上调用
dialogbox

更新的演示:http://jsfiddle.net/hungerpain/TrScN/8/

或,

只需将

$("#boxaddform").dialog("open");
替换为
$("#boxaddform").dialog();
即可使其正常工作。

演示:http://jsfiddle.net/hungerpain/TrScN/9/


1
投票

尝试使用 live 或 on function。

$(document).live/on('click','a.BA',function(){
// your code
});

0
投票

上述答案对我来说失败了,但这对我有用

$('body').on('click', '.BA', function() {
console.log("hey");
});
© www.soinside.com 2019 - 2024. All rights reserved.