我正在爲自己構建一個調試工具。我希望它做的是在任何元素點擊時放置一個類。jQuery,選擇(任何所有*)元素點擊
事情是這樣的:
$('*').click(function(){$(this).toggleClass('debug')});
也就是說實際工作,除了它切換「調試」的所有元素。
例如:
<body>
<div id='3'>
<div id='2'>
<div id='1'></div>
</div>
</div>
</body>
如果我點擊<div id="1">
,它將一個名爲 「調試」 類添加到<div id="2">
和<div id="3">
。
發生了什麼事情是當你點擊<div id="1>
時,它被視爲對所有3的點擊,因爲從技術上講,所有的div都被點擊。所以我想過要有一個擁有所有HTML元素的數組。
到目前爲止,我有:
window.v = [];
$('*').click(function(){window.v.push(this)});
在此之後,它是:
$(window.v[0]).toggleClass('debug');
不幸的是,當這樣的:
$(window.v[window.v.length]).toggleClass('debug');
...或以上執行時,它沒有做任何事情。有時,它將「調試」類放在body標籤上。
所以,我不完全確定如果使用陣列是最好的路線。有沒有人有任何想法如何普遍點擊任何元素並將調試類放在它上面?
在此先感謝。
對不起,忽略了 - 我錯過了什麼。 – Ryan
@minitech沒問題':)' –
我一般都喜歡這個想法,但是如果點擊是在對象本身(像一個按鈕)處理並且冒泡可能被阻止的話,它會起作用。 – jfriend00