DotNetNuke - jQuery - 为什么这个jQuery Watermark插件不起作用?

时间:2010-09-17 06:18:47

标签: asp.net jquery jquery-ui jquery-plugins dotnetnuke

我正在使用DNN 5.4和默认的google api jquery引用:

alt text

我已确认jquery.min.js正在加载。我不知道是否还需要加载其他jQuery(插件除外)。

我正在使用Google Code jQuery Textbox水印插件(Link

Web Dev Toolbar& Firebug建议jQuery和Watermark插件都在加载。这段代码位于我的皮肤顶部附近.ascs:

 <script type="text/javascript" src="/js/watermark/jquery.watermark.min.js"></script>

以下代码在基本的html文档中有效(当输入包装在表单标记中时)。但是,当放置在DNN皮肤或DNN模块内时,它无法工作并在此处生成javascript。

<script language="javascript" type="text/javascript">
    (function ($) {
        $(document).ready(function () {
            jQuery("#xsearch").watermark("Leave blank for USA");
        })
    })(jQuery);
</script>

SearchString: <input type="text" id="xsearch" name="xsearch" />
<input type="button" value="search" id="xsubmit" name="xsubmit"   />

错误(FireBug):

jQuery("#xsearch").watermark is not a function
[Break on this error] jQuery("#xsearch").watermark("Leave blank for USA"); 

此备用代码产生相同的错误:

<script language="javascript" type="text/javascript">
    jQuery.noConflict();
    jQuery(function () {
        jQuery("#xsearch").watermark("Leave blank for USA");
        jQuery("#xsubmit").click(
            function () {
                jQuery("#xsearch")[0].focus();
            }
        );
    });
</script>

最后,当我用$

替换jQuery时会产生同样的错误

这感觉就像是某种冲突,但我对下一步该做什么感到迷茫。

提前感谢您的时间

1 个答案:

答案 0 :(得分:3)

我注意到这是因为:


<script type="text/javascript" src="/js/watermark/jquery.watermark.min.js">

应该是


<script type="text/javascript" src="js/watermark/jquery.watermark.min.js">

如果你的皮肤根目录中有js文件夹。 您可以看到FireBug的网络选项卡,以确保您的脚本引用正确加载。我正在评判这个因为我做了很多dnn开发,你引用的链接也会变成 提供 http://www.mydomain.com/tabId/80/js/watermark/jquery.watermark.min.js http://www.mydomain.com/tabId/80/Default.aspx