点击事件未在IE中注册,jQuery在div上(jsfiddle)

时间:2011-10-03 08:24:00

标签: jquery html css events

我的html看起来像这样:

<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位于输入字段的右侧,并使用帮助图标进行样式设置。 .skjemaHjelp div中的内容是隐藏的。

我的jQuery看起来像这样:

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

警报框出现在除IE之外的每个浏览器中。由于某种原因,事件不会触发。我不知道为什么。有没有解决方法?

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

托马斯

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

向您的div添加tabindex="0"属性。这将使其触发click事件。