Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer 8 Jquery函数单击事件未在IE8中触发_Internet Explorer 8_Jquery - Fatal编程技术网

Internet explorer 8 Jquery函数单击事件未在IE8中触发

Internet explorer 8 Jquery函数单击事件未在IE8中触发,internet-explorer-8,jquery,Internet Explorer 8,Jquery,有人知道为什么在本例中,点击事件不只是在IE8中触发的吗?基本上,点击后的css样式(.zui act)应该改变标签的背景色 阿尔法 布拉沃河 沙利 ​ $.radio=功能(e){ var a=$('input:radio').filter(函数(索引){return$(this.attr('name')==e}); a、 隐藏(); a、 同级('label').addClass('zui-btn'); a、 单击(函数(){ var f=$(this.attr('id'); $('la

有人知道为什么在本例中,点击事件不只是在IE8中触发的吗?基本上,点击后的css样式(
.zui act
)应该改变
标签的
背景色


阿尔法
布拉沃河
沙利
​
$.radio=功能(e){
var a=$('input:radio').filter(函数(索引){return$(this.attr('name')==e});
a、 隐藏();
a、 同级('label').addClass('zui-btn');
a、 单击(函数(){
var f=$(this.attr('id');
$('label').removeClass('zui-act').filter(函数(索引){
返回$(this.attr('for')==f
}).addClass(“zui-act”);
});
}
$(文档).ready(函数(e){
$收音机('a');
});
单击
事件更改为
更改
,它应该可以工作。您很可能在兼容模式下运行,该模式中有一个bug

既然可以让选择器处理名称,为什么还要使用过滤器呢

var myName = "a";
var myRadios = $('input[name="' + myName +'"]');

我唯一的猜测是IE8不会触发隐藏元素上的事件。我想这是有道理的。您可以采用jQuery UI buttonset采取的方法,并将单选按钮移出屏幕:

然后将其添加到
$.radio
方法中,以代替
a.hide()


谢谢,使用name效果更好,但正如Ryan提到的,
change
不起作用,而且我不在compatibility modeLOL中,测试时我在IE9中运行它,而不是在IE8中运行它。我以为我改变了模式。:)
var myName = "a";
var myRadios = $('input[name="' + myName +'"]');
.zui-radio {
    position:absolute;
    left:-9999px;
}
a.addClass('zui-radio');