我使用Jquery UI在点击时弹出一个弹出窗口但是这个弹出窗口立即关闭。我不明白为什么? 这是我的代码:
function openPopUp() {
// alert("Handler for .click() called.");
$("#dialog:ui-dialog").dialog("destroy");
$("#select-method").dialog({
modal : true,
height: 573,
width: 766 ,
buttons : {
Exporter : function() {
//$(this).dialog("close");
alert("Exporter");
// close the dialog
},
'Etat de surveillance' : function() {
//$(this).dialog("close");
alert("Etat de surveillance");
// close the dialog
},
Annuler : function() {
//$(this).dialog("close");
alert("Annuler");
// close the dialog
}
}
});
};
代码html是:
<div id="other" class="popLink">This is text
<a href="" class="popLink" onClick="openPopUp();">
Click to open pop up
</a>
</div>
<div class="noDisplay">
<div id="select-method" title="selection des méthodes et calcul des provisions">My pop upis opened
</div>
</div>
答案 0 :(得分:3)
就像一条评论所说,尝试这样的事情:
onclick="openPopUp();return false;"
虽然这是有意义的,因为你已经在使用jQuery,用jQuery绑定事件,而不是内联HTML。不要指定onclick
属性,请在$(document).ready
:
$(".popLink").click(function (e) {
e.preventDefault();
// Either call openPopUp or copy/paste the code from that function into here - depends on how you actually use openPopUp throughout your whole site
});
但与此同时,你的HTML中有一些奇怪的东西 - 具有相同类“popLink”的嵌套div。这意味着如果您使用上面的代码,当您单击内部代码时,showPopUp
将执行两次(因为传播)。所以我想我会在技术上使用这种绑定:
$("#other").on("click", ".popLink", function (e) {
e.preventDefault();
// Other code
});
这在技术上将click
事件绑定到元素#other
,但只有在其内部具有“popLink”类的元素引起时才会执行。还有其他几种方法可以定位您想要的<a>
,因此这取决于您提供的代码是示例还是真实的。
答案 1 :(得分:0)
试试这个:)
$('.popLink').click(function(e) {
e.preventDefault();
openPopUp();
});