我有一個「actions_image」類的圖像,當點擊時顯示一個菜單。帶隱藏菜單的圖像會在同一頁面上出現多次。 我有2個原因與下面的代碼問題:顯示隱藏點擊問題
1 - JavaScript代碼,第一行是要確保,如果有已經是一個菜單打開,這將顯示的新菜單前關閉。但是,當添加這條線時,帶有切換命令的第二行不再切換。它只在點擊時顯示div,但在再次點擊時不會隱藏它。所有其他的行動完美地工作,因爲在div隱藏時,除了圖像顯示它被點擊的任何東西
2 - IE 7拋出一個JavaScript的第二行錯誤,因爲使用:懸停並且根本不會顯示菜單(grrr ...!)
任何人都可以幫忙嗎?
Javascript代碼:
section_actions_menu: function(event){
$(".actions_image").next().hide();
$(".actions_image:hover").next().toggle();
$("body").click(function(e){
if(e.target.className !== "actions_image")
{
$(".actions_image").next().hide();
}
});
}
HTML代碼:
<img src="/media/images/spacer.gif" width="31" height="18" alt="Section Actions Menu" title="Section Actions Menu" class="actions_image" onclick="section_actions_menu(event);"/>
<div class="toggle">
<ul>
<li><a title="Add">Add</a></li>
<li><a title="Edit">Edit</a></li>
<li><a title="Remove">Remove</a></li>
</ul>
</div>
任何幫助將非常感激。
你能解釋效率增益嗎?一眼看上去它會添加大量的事件處理程序,而不僅僅是一個,這聽起來不像是一個比較測試中的效率增益超過一個事件處理程序。 – Chris 2010-06-18 12:06:06
不幸的是,這是行不通的。雖然這段代碼沒有被破解,但IE 7並不接受我更感興趣的代碼。 – aligreene 2010-06-18 12:09:00
@chris - 是的,我的錯誤,它仍然不是很有效的手動委託後,每一個事件必須泡沫一直到dom? – Haroldo 2010-06-18 12:20:19