首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery函数单击事件未在IE8中触发

Jquery函数单击事件未在IE8中触发
EN

Stack Overflow用户
提问于 2012-10-18 07:27:11
回答 1查看 1.3K关注 0票数 0

有人知道为什么在本例中,单击事件不是只在IE8中触发吗?基本上,单击后的css样式(.zui-act)应该会更改labelbackground-color

JSFIDDLE

代码语言:javascript
复制
<div style="width:300px;">
   <input type="radio" name="a" id="a" value="alpha" />
   <label for="a">Alpha</label>
   <input type="radio" name="a" id="b" value="bravo" />
   <label for="b">Bravo</label>
   <input type="radio" name="a" id="c" value="charly" />
   <label for="c">Charly</label>
</div>​

$.radio = function(e) {
    var a = $('input:radio').filter(function(index) { return $(this).attr('name')==e });
    a.hide();
    a.siblings('label').addClass('zui-btn');
    a.click(function(){
        var f = $(this).attr('id');
        $('label').removeClass('zui-act').filter(function(index) {
            return $(this).attr('for')==f
        }).addClass('zui-act');
    });
}

$(document).ready(function(e) {
    $.radio('a'); 
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-18 07:40:07

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

代码语言:javascript
复制
.zui-radio {
    position:absolute;
    left:-9999px;
}

然后,在a.hide()的位置将其添加到$.radio方法中

代码语言:javascript
复制
a.addClass('zui-radio');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12944952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档