我的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/
托马斯
答案 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={};}})());
答案 1 :(得分:0)
向您的div添加tabindex="0"
属性。这将使其触发click
事件。