我的几个页面同时使用JQuery和Protoype.由于我升级到JQuery的1.3版本,这似乎导致了问题,因为两个库都定义了一个名为'$'的函数.
JQuery提供了一个函数noConflict(),它将$的控制放弃到可能正在使用它的其他库.所以看起来我需要浏览所有看起来像这样的页面:
<head>
<script type="text/javascript" src="/obp/js/prototype.js"></script>
<script type="text/javascript" src="/obp/js/jquery.js"></script>
</head>
Run Code Online (Sandbox Code Playgroud)
并将它们更改为如下所示:
<head>
<script type="text/javascript" src="/obp/js/prototype.js"></script>
<script type="text/javascript" src="/obp/js/jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();
var $j = jQuery;
</script>
</head>
Run Code Online (Sandbox Code Playgroud)
然后,我应该能够为Prototype使用'$',为JQuery使用'$ j'(或'jQuery').我并不完全乐意在每个相关页面中复制这两行代码,并期望在某些时候有人可能忘记将它们添加到新页面.我宁愿能够做到以下几点
query-noconflict.js"包含" 的文件j jquery.js和上面显示的2行代码jquery-noconflict.js(而不是jquery.js)但是,我不确定是否可以以我描述的方式将一个JS文件包含在另一个JS文件中?当然另一种解决方案就是直接将上面两行代码添加到jquery.js中,但如果我这样做,我需要记住每次升级JQuery时都要这样做.
我有一个textarea(或可编辑的DIV)输入,我总是希望以默认文本开头并且用户无法编辑.例如:
文本框始终以默认值开头: My name is
用户可以并且需要添加他们的名字,例如: My name is David
他们无法删除My name is默认文本.理想情况下,如果用户单击该默认文本的任何位置,光标将跳转到该文本的末尾,因此除了默认值之外,他们甚至没有机会尝试键入内容.退格也是如此,默认文本(My name is)无法删除.
有什么建议?我有能力使用Javascript/Jquery.