在asp.net的一个页面中使用两个jquery插件冲突

时间:2011-07-16 14:21:57

标签: asp.net jquery-ui

我在页面中使用了两个jquery插件。其中一个是新闻快递,它的脚本就像:

<script type="text/javascript">
   $(document).ready(function () {
       $(function () {
           $('#js-news').ticker();
       });
   });
</script>

和其他是用于diaplay对话框的jquery ui对话框,其脚本是:

$.fx.speeds._default = 1000;
$(function () {
    $("#divConsumerCartDialog").dialog({
        autoOpen: false,
        show: "blind",
        hide: "explode"
    });

    $("#aMpConsumerCartLink").click(function () {
        $("#divConsumerCartDialog").dialog("open");
        return false;
    });
});

当我尝试运行我的页面时,发生了以下错误:

  

microsoft jscript运行时错误对象不支持此属性或方法

他们每个人都能正常工作,并且一起工作并且发生错误

请告诉我解决问题的解决方案

提前致谢

2 个答案:

答案 0 :(得分:2)

如果您使用http://www.jquerynewsticker.com/作为新标签,请尝试此操作。

$(function() {
    $('#js-news').ticker();
    $.fx.speeds._default = 1000;
    $("#divConsumerCartDialog").dialog({
        autoOpen: false,
        show: "blind",
        hide: "explode"
    });

    $("#aMpConsumerCartLink").click(function(evt) {
        $("#divConsumerCartDialog").dialog("open");
        evt.preventDefault();
    });
});

在这里演示:http://jsfiddle.net/naveen/qJSKN/

在不相关的旁注上,请不要这样写。

$(document).ready(function () {
       $(function () {
           $('#js-news').ticker();
       });
   });

因为$(function () {});$(document).ready(function () {});的简写 通过这样写,你在DOMReady中调用DOMReady。

答案 1 :(得分:1)

为jQuery库添加别名,以便javascript库(jQuery和microsoft jscript)之间不会发生冲突

在jquery-1.4.2.min.js(例如)结束时,输入

var $j = jQuery.noConflict();

然后调整您的jQuery特定调用以使用$ j而不是$。这应该可以解决你的问题。

例如:

        $j(document).ready(function(){
               ......