jQuery 模态对话框与 html() 冲突并返回 false;
我有一个使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您无法将
this
传递给 html() 方法。由于该代码位于事件处理程序内,因此
this
将是处理该事件的 DOM 元素(在我们的示例中为click
)。html()
只能接受字符串或函数参数。如果您的目标是用
#samplelink
的内容填充对话框,则应在不带参数的情况下对当前元素调用html()
,然后调用html()对话框上的
以及结果字符串: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 callhtml()
on the current element without arguments, then callhtml()
on the dialog with the resulting string:尝试:
其中
$(this).html()
包含有效的 HTML 代码。你可以快速尝试
Try :
Where
$(this).html()
contains valid HTML code.You could try rapidly