jQuery UI draggable在Firefox中不起作用“错误draggable()不是函数”

时间:2010-09-25 02:44:59

标签: javascript jquery jquery-ui

除了Firefox之外,draggable在所有浏览器中都有效,这真的很奇怪。我在IE6.0,Opera,Safari中试过,一切都还可以。但Firefox提示以下错误:

  

$("#draggable").draggable不是函数。

这是我的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery UI Draggable - Default functionality</title>
<link rel="stylesheet" href="/js/ui/1.8.5/themes/base/jquery.ui.all.css"/>
<script type="text/javascript" src="/js/ui/1.8/js/jquery-1.4.2.min.js"></script>
<script type="text/jscript" src="/js/ui/1.8/ui/jquery.ui.core.js"></script>
<script type="text/jscript" src="/js/ui/1.8/ui/jquery.ui.widget.js"></script>
<script type="text/jscript" src="/js/ui/1.8/ui/jquery.ui.mouse.js"></script>
<script type="text/jscript" src="/js/ui/1.8/ui/jquery.ui.draggable.js"></script>

<style type="text/css">
    #draggable { width: 150px; height: 150px; padding: 0.5em;}
</style>

<script type="text/javascript">
$(function() {
    $( "#draggable" ).draggable();
});
</script>
</head>

<body>
<div class="demo">
    <div id="draggable" class="ui-widget-content">
    <p>Drag me around</p>
</div>
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:2)

内容类型应为text/javascript,您目前对jQuery UI文件有text/jscript,如下所示:

<script type="text/javascript" src="/js/ui/1.8/ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="/js/ui/1.8/ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="/js/ui/1.8/ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="/js/ui/1.8/ui/jquery.ui.draggable.js"></script>

或者将CDN中的整个jQuery UI库包含在一个文件中,例如:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js"></script>

jscript专门用于IE,但其他浏览器可能会也可能不会容忍它并将其视为JavaScript内容类型,因为它可以在任何地方使用text/javascript