我有这个 html 代码,其中我有很多 li 元素。在双击每个 li 元素时,会出现一个类似于 div 的窗口。该特定窗口出现的窗口数量与我单击该窗口的次数一样多。我的问题是,如何防止为特定的 li 元素打开多个窗口?
我可以在javascript中使用一些方法或函数来计算我点击特定li元素的次数吗?
我有这个 html 代码,其中我有很多 li 元素。在双击每个 li 元素时,会出现一个类似于 div 的窗口。该特定窗口出现的窗口数量与我单击该窗口的次数一样多。我的问题是,如何防止为特定的 li 元素打开多个窗口?
我可以在javascript中使用一些方法或函数来计算我点击特定li元素的次数吗?
创建一个以窗口/div ID 作为键的对象,如果打开,则将其设置为 true,如果“窗口”关闭,则将其设置为 false。
所以你只需要在值为 false 时显示窗口
openedWindows.li1 = false;
openedWindows.li2 = false;
// ...
为了与 DOM 轻松交互,我推荐库jQuery。
如果您决定使用 jQuery,请使用以下命令:
$(document).ready(function() {
var liClicked = [];
$("li").dblclick(function() {
if (liClicked.indexOf($(this).index()) != -1) return;
liClicked.push($(this).index());
alert("new click");
});
});
您是否将该功能绑定到 li 元素上?只需取消绑定特定元素以防止进一步弹出..或删除 onclick 属性内容,具体取决于代码....
例如:
function openWindow(obj){
//your code - fired by onclick passing 'this'
obj.onclick = null;
}