IE中Bootstrap中的滑块无法正常工作

时间:2013-05-31 20:59:27

标签: jquery twitter-bootstrap slider

我在我的网站上实现了Bootstrap(Twitter),我遇到了Slider的问题。它在IE以外的所有浏览器中运行良好。以下是错误:

Message: 'target' is undefined

以下是JS,它会触发错误:

$(this).find('.arrow-right').each(function (){
    $(this).bind(event_down, function (){
        content.swipe.next();
        if ($.browser.msie){
            var pos = target.swipe.getPos();
            var k = 0;
            pageview.children().each(function (){
                var act=k==pos;
            $(this).addClass((act?"":"in")+"active").removeClass((act?"in":"")+"active");
                k++;
            });
        }
    });
});

更新

上面的代码来自我用于手势的hammer.js。当我删除此代码时,它仍然无法正常工作。所以基本上现在没有抛出任何错误,但是所有幻灯片都是垂直显示的,并且滑块(ofcourse)不起作用。

1 个答案:

答案 0 :(得分:1)

您的错误不是浏览器或IE相关。您只在IE上看到此错误,因为您在if ($.browser.msie)内使用了目标。您必须使用event.target,其中event是变量绑定事件函数。

显示:

<button id="button1">Click</button> 
<button id="button2">Click</button> 
</div>  

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>    

<script type="text/javascript">
$('#button1').click(function(){
        alert(target.nodeName)
    }
);

$('#button2').click(function(event){
        alert(event.target.nodeName);
    }
);

第一个按钮会导致相同的错误。在您的情况下,请使用$(this).bind(event_down, function (event)event.target.swipe.getPos();

另请参阅:http://api.jquery.com/event.target/