私は多くのli要素を持つこのhtmlコードを持っています。各 li 要素をダブルクリックすると、div のようなウィンドウが表示されます。そのウィンドウをクリックした回数と同じ数のウィンドウがその特定のウィンドウに表示されます。私の問題は、特定の li 要素に対して複数のウィンドウが開かないようにする方法です。
特定のli要素をクリックした回数をカウントできるメソッドまたは関数をjavascriptで使用できますか?
私は多くのli要素を持つこのhtmlコードを持っています。各 li 要素をダブルクリックすると、div のようなウィンドウが表示されます。そのウィンドウをクリックした回数と同じ数のウィンドウがその特定のウィンドウに表示されます。私の問題は、特定の li 要素に対して複数のウィンドウが開かないようにする方法です。
特定のli要素をクリックした回数をカウントできるメソッドまたは関数をjavascriptで使用できますか?
window/div ID をキーとしてオブジェクトを作成し、開いている場合は true に設定し、「window」が閉じている場合は 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;
}