2011-10-03 70 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