2011-10-03 81 views
1

我有HTML,看起來像這樣:Click事件

<h3>Sample</h3> 
<div class="skjemaHjelp" id="sample"><div><h3>3</h3><p>Content goes here</p></div></div> 
<input type="text" class="inputWide" name="formSample" id="formSample" value="" /> 

類skjemaHjelp是posisioned輸入場的右側,並與風格一個幫助圖標。 .skjemaHjelp div內的內容是隱藏的。

我的jQuery看起來是這樣的:

$('.skjemaHjelp, .skjemaHjelpU').click(function() { 
alert('debug'); 
}): 

警報框將出現在每一個瀏覽器,除了IE瀏覽器。由於某些原因,該事件不會觸發。我不知道爲什麼。有沒有解決方法?

的jsfiddle http://jsfiddle.net/wJEPV/11/

托馬斯

+1

你應該告訴我們使用的jsfiddle所以我們可以看到您的問題發生和測試可能的解決方案 –

+0

好主意,一秒 – OptimusCrime

+0

http://jsfiddle.net/wJEPV/11/ – OptimusCrime

回答

1

假設您使用低於版本9的IE(或IE9在不同的文檔模式下)進行測試,那麼jsFiddle唯一的問題是console對象沒有被定義。

如果您刪除console.log('loaded');,它適用於所有版本的IE。

在早期版本的IE中,console對象僅在您打開開發工具(點擊F12)時定義。

或者,您可以添加這樣的事情,以使其始終安全使用console.*

// make it safe to use console.log always 
(function(b){function c(){}for(var d="assert,clear,count,debug,dir,dirxml,error,exception,firebug,group,groupCollapsed,groupEnd,info,log,memoryProfile,memoryProfileEnd,profile,profileEnd,table,time,timeEnd,timeStamp,trace,warn".split(","),a;a=d.pop();){b[a]=b[a]||c}})((function(){try 
{console.log();return window.console;}catch(err){return window.console={};}})()); 

(段從http://html5boilerplate.com/拍攝)

+0

刪除console.log做到了。非常感謝。奇怪它只是破壞了這個功能,圖片洗牌機沒有任何問題。再次謝謝你! – OptimusCrime

0

一個tabindex="0"屬性添加到您的股利。這將使其觸發click事件。

+1

好主意,但仍然無法正常工作。 – OptimusCrime