3

我已经在我的网站上实现了 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。当我删除此代码时,它仍然无法正常工作。所以现在基本上没有错误被抛出,但所有幻灯片都是垂直显示的,并且滑块(当然)不起作用。

4

1 回答 1

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/

于 2013-06-04T19:47:26.710 回答