在准备好功能之后,Jquery加载无法在Internet Explorer上运行

时间:2011-05-24 16:38:47

标签: javascript jquery

在firefox或chrome或其他浏览器中,我没有这个问题但是没有工作。

$(document).ready(function(){
$('#divplayer').load("/player/index.php");
    $("a.eklebeni").live('click', function(event){
        event.preventDefault();
        $('.png', this).attr('src', 'img/eklendi.png');
        $.get($(this).attr("href"), function(data) {
        $('#divplayer').html('<img src="img/player.png" class="png" alt="" />');
        $('#divplayer').load("/player/index.php");
        });
});

我不知道为什么但加载功能不起作用?谢谢

2 个答案:

答案 0 :(得分:1)

这些都不是jQuery相关的解决方案......但是它们都是你应该注意的IE和W3C(其他人)之间的区别。看起来你可能已经为后者编码了,这就是为什么在IE中它没有像你期望的那样工作,但是不知道什么不起作用这是一个很大的WAG。

在IE中,window.event使您可以访问事件(不是传递给事件处理代码的第一个参数),因此您的函数应该是:

//...
.live('click',function(event) {
  event=event||window.event;
//...

要防止W3C中的事件,您应该使用event.preventDefault(),在IE中您需要设置event.returnValue=false以防止出现默认事件。这意味着将更改更改为event.preventDefault()

if (event.preventDefault) {event.preventDefault():}
else {event.returnValue=false;}

答案 1 :(得分:1)

我已经通过IE缓存内容发生了一百万次,这没有用,因为没有报告错误或问题,它只是不起作用。尝试这样的事情,看看会发生什么:

$('#divplayer').load("/player/index.php?timestamp=" + (+new Date));