jQuery工具验证器会影响`event.target behavior`

时间:2011-05-12 14:28:29

标签: internet-explorer-8 validation jquery-tools

以下代码使用jQuery 1.4.4和jQuery工具1.2.5 在无线电点击上,它会在IE 8中将$(event.target).attr('id')评估为“未定义”。也可能在其他版本的IE上。它在大多数其他浏览器上按预期工作。

在评论$('form').validator()的实例化时,即使在IE上,代码也按预期运行。

请告知。

<!DOCTYPE html>
<html>
<head>
    <title>jquery tools validator and IE issue on event.target</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    <script src="http://cdn.jquerytools.org/1.2.5/full/jquery.tools.min.js?foo"></script>
    <script>
    $(document).ready(function(){
        $('form').validator();
        $('[type=radio]').click(function(event){
            alert($(event.target).attr('id'));
        });
    });
    </script>
</head>
<body>
    <form>
        <input type="radio" name="aee-ee-eight" id="id-0" value="0" checked="checked" tabindex="0">
        <input type="radio" name="aee-ee-eight" id="id-1" value="0" tabindex="1">
        <input type="radio" name="aee-ee-eight" id="id-2" value="0" tabindex="2">
        <input type="submit"><br/>
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

我认为您的问题是event.target尝试使用此代码来获取目标值。

我会将你的功能改为:

$(document).ready(function(){
        $('form').validator();
        $('[type=radio]').click(function(){
            alert($(this).attr('id'));
        });
    });