jQuery 模态对话框与 html() 冲突并返回 false;

发布于 2024-12-10 15:43:10 字数 434 浏览 0 评论 0原文

我有一个使用 slickmap.css 的组织结构图,我用切换显示/隐藏对其进行了修改。一切正常,但现在我需要在单击时添加一个模式对话框窗口并显示 a 标签的信息。

我设法做到了这一点,但必须添加一个 return false 以防止发生切换关闭操作。现在,当我显示信息时,它会从页面中完全删除 a 标签。我认为当我添加 html(this) 时,它会忽略最后的 return false 。

请任何人帮助我使这两个功能一起工作。

这是我用来调用模态对话框的代码,抱歉我没有发布小提琴,但我认为这就是问题所在

$('#samplelink').click(function(){
  $('#modal_window').dialog('open').html(this);
  return false;
}); //end click handler

I have an org chart using slickmap.css which I modified with toggle show/hide. It's all working fine but now I need to add a modal dialog window on click and display info form the a tag.

I managed to do this but had to add a return false to prevent the toggle close action from happening. Now when I display the info it completely removes the a tag from the page. I think when I add html(this), it ignores the return false at the end.

Please can anyone help me make these two functions work together.

Here is the code I am using to call the modal-dialog, sorry I havent posted a fiddle but I think this is where the problem lies

$('#samplelink').click(function(){
  $('#modal_window').dialog('open').html(this);
  return false;
}); //end click handler

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

困倦 2024-12-17 15:43:10

您无法将 this 传递给 html() 方法。

由于该代码位于事件处理程序内,因此 this 将是处理该事件的 DOM 元素(在我们的示例中为 click)。 html() 只能接受字符串或函数参数。

如果您的目标是用 #samplelink 的内容填充对话框,则应在不带参数的情况下对当前元素调用 html(),然后调用 html()对话框上的 以及结果字符串:

$("#samplelink").click(function() {
    $("#modal_window").dialog("open").html($(this).html());
    return false;
});

You cannot pass this to the html() method.

Since that code lies inside an event handler, this will be the DOM element handling the event (click in our case). html() can only take a string or a function argument.

If your goal is to fill the dialog with the contents of #samplelink, you should call html() on the current element without arguments, then call html() on the dialog with the resulting string:

$("#samplelink").click(function() {
    $("#modal_window").dialog("open").html($(this).html());
    return false;
});
黑凤梨 2024-12-17 15:43:10

尝试:

$('#samplelink').click(function(){
  $('#modal_window').dialog('open').html($(this).html());
  return false;
}); //end click handler

其中 $(this).html() 包含有效的 HTML 代码。

你可以快速尝试

$('#samplelink').click(function(){
  $('#modal_window').dialog('open').html('<h1>Hello World</h1>');
  return false;
}); //end click handler

Try :

$('#samplelink').click(function(){
  $('#modal_window').dialog('open').html($(this).html());
  return false;
}); //end click handler

Where $(this).html() contains valid HTML code.

You could try rapidly

$('#samplelink').click(function(){
  $('#modal_window').dialog('open').html('<h1>Hello World</h1>');
  return false;
}); //end click handler
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文