'$'未定义javascript错误

时间:2011-11-11 09:51:06

标签: jquery asp.net

<script type="text/javascript">
    $(function() {
        $('#WaterMark').draggable(
                    {
                        start: function(e, ui) {
                        },
                        cursor: 'move',
                        zIndex: 2700,
                        revert: 'invalid',
                        containment: '#OriginalImageContainer'
                    });
        $('#OriginalImage').droppable({
            hoverClass: 'DroppableOver',
            drop: InitializeWaterMark
        })
    });

    var InitializeWaterMark = function() {
        var position = $('#WaterMark').position();
        var imgPosition = $('#OriginalImageContainer').position();
        document.getElementById('xpos').value = position.left - imgPosition.left;
        document.getElementById('ypos').value = position.top - imgPosition.top;

    }
    </script>

这是我在asp.net网页中拖放图片时获得的示例javascript代码...但它返回错误,指出&#39; $&#39;未定义 ..请帮帮我

3 个答案:

答案 0 :(得分:5)

猜测一下,我会说你错过了那个支持该脚本的库(可能是jQuery)。

您需要包含对JavaScript框架的引用,以便获得您正在寻找的可拖动功能。

尝试将以下内容添加到您的页面中(在示例中的脚本块之前):

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.7.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.js"></script>

答案 1 :(得分:1)

如果它是jquery包含问题,那么将此标记放在aspx页面的头部并编辑脚本标记中的src属性以指向您的jquery.js副本。例如,如果jquery.js与HTML文件位于同一目录中,则可以使用:

 

您可以从Downloading jQuery page

下载自己的jQuery副本

如果你做得对,那么再解释一下这个场景......

答案 2 :(得分:1)

在页面中包含您的jQuery和jQuery UI脚本。我倾向于使用CDN(内容交付网络)http://www.asp.net/ajaxlibrary/cdn.ashx中的jQuery和jQuery UI文件 此外,我有一个备份CDN可能会关闭。

<script src="//ajax.aspnetcdn.com/ajax/jquery/jquery-1.6.2.min.js"></script>
<script> window.jQuery || document.write('<script src="/scripts/jquery-1.6.2.min.js"><\/script>')

然后与jQuery UI库相同。

如果CDN发生故障,那么它会检查jQuery是否存在,然后再使用本地版本。