Internet explorer 8 jQuery工具验证程序影响“event.target”行为`

Internet explorer 8 jQuery工具验证程序影响“event.target”行为`,internet-explorer-8,validation,jquery-tools,Internet Explorer 8,Validation,Jquery Tools,以下代码使用的是jQuery 1.4.4和jQuery工具1.2.5。 在单选点击时,它将$event.target.attr'id'计算为IE 8中的“未定义”。可能在IE的其他版本上也是如此。它在大多数其他浏览器上都能正常工作 当注释掉$'form'。validator的实例化时,即使在IE上,代码也会按预期运行 请告知 <!DOCTYPE html> <html> <head> <title>jquery tools validato

以下代码使用的是jQuery 1.4.4和jQuery工具1.2.5。 在单选点击时,它将$event.target.attr'id'计算为IE 8中的“未定义”。可能在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>

我认为您的问题在于event.target。请尝试使用它来获取目标值

我会将您的功能更改为:

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

这个例子是这样的,但我的实际代码使用代理。单击MyProxyFunctionEvent,我没有访问权限。问题是ie没有interpet event.targetwell,jQuery不负责吗?如果注释掉验证器行,代码将按预期工作,正如我提到的。