0

在我的代码中,有几个 HTML 框,每个都打开不同的对话框。这是我打开对话框的方式:

function popup(category) {
  $(category).dialog();
};

这些框有一个 onclick:popup('#categoryName')。我想确保一旦打开特定对话框,就无法重新打开它。如何使用 JQuery 检测该对话框是否已打开防止该对话框再次打开?

提前感谢您的建议!!!

4

1 回答 1

1

您可以向您的框添加一个属性,以检查其各自的对话框之前是否已打开,并使用 attr 函数获取该值并在打开对话框后更改它。

<div id="category-1-box" onclick="popup(this, '#category-1')" has-been-opened="no">Category 1</div>
<div id="category-2-box" onclick="popup(this, '#category-2')" has-been-opened="no">Category 2</div>
function popup(box, category) {
    if($(box).attr("has-been-opened") === "no"){
        $(category).dialog();
        $(box).attr("has-been-opened", "yes");
    }  
}

this请注意,当您从 onclick 事件调用函数时,您必须向弹出函数添加一个新参数并传递关键字。通过这种方式,您可以操作该特定元素以使用 JQuery 检查和更改值。

于 2021-07-20T05:36:24.883 回答