Internet explorer 8 jQuery工具验证程序影响“event.target”行为`
以下代码使用的是jQuery 1.4.4和jQuery工具1.2.5。 在单选点击时,它将$event.target.attr'id'计算为IE 8中的“未定义”。可能在IE的其他版本上也是如此。它在大多数其他浏览器上都能正常工作 当注释掉$'form'。validator的实例化时,即使在IE上,代码也会按预期运行 请告知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
<!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不负责吗?如果注释掉验证器行,代码将按预期工作,正如我提到的。