我正在实现以下两组功能: -
对于Window生成 - 必需的jQuery库是: - jquery.js(v1.3.2) - jquery-ui.js(v1.7.2)
我正在使用一个使用here的扩展库 - 它使用$ .window {...}创建一个基于jquery的对话框窗口。
对于自动填充/插件搜索, - 我使用的所需库是: - jquery.js(v1.7.2) - jquery-ui.js(v1.8.18)
这两个单独的工作完全正常。但是,当在同一页面上使用时,我不得不创建noconflict文件,以便这两个函数在两者之间的某个地方相遇。因此,现在,我正在使用:
为:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
<script type="text/javascript" src="http://jqueryui.com/ui/jquery.ui.autocomplete.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.3.2.js"></script>
<script type="text/javascript">
var jQuery_1_3_2 = $.noConflict(true);
</script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.js"></script>
/* Here I would like to use the script below with another noConflict, because v1.8.1 (above) causes flickering of dialog boxes while dragging around & isnt smooth like the one below, which is v1.7.2:-
<script type="text/javascript" src="http://fstoke.me/jquery/window/js/jquery/jquery-ui.js"></script>
*/
<script type="text/javascript" src="http://fstoke.me/jquery/window/js/jquery/window/jquery.window.js"></script>
如上所述使用时,与窗口交互时会出现大量的视觉故障。当移动窗口时,页面的其他部分会突出显示或闪烁(快速突出显示) - 大约50%的时间。拖拽与调整大小也不是很顺利。
如果删除v1.7.2 jquery.js,窗口会更顺畅,但自动完成功能不再起作用。如果我删除v1.3.2 jquery.js,则不会生成窗口。
现在,我使用的函数如下: -
function createSampleWindow() {
sampleWnd = $.window({
.......//Code here
}(jQuery_1_3_2);
我如何在这里使用v1.7.2 jquery-ui.js,使用一些变量,如: -
<script type="text/javascript" src="http://fstoke.me/jquery/window/js/jquery/jquery-ui.js"></script>
<script type="text/javascript">
var jq_172= $.noConflict(true);
</script>
Qn 1 对于同一个函数,使用这两个变量(jQuery_1_3_2和jq_172)的正确语法是什么? used here之类的东西: -
function createSampleWindow() {
sampleWnd = $.window({
.......//Code here
}(jQuery_1_3_2, jq_172);
或者
function createSampleWindow() {
sampleWnd = $.window({
.......//Code here
}(jQuery_1_3_2),(jq_172);
不起作用。
Qn 2 是否可以使用jquery.js v1.7.2而不是v1.3.2来实现大型javascript,例如一个used in fstoke - 如果有人可以做出明显的区分至于为什么用v1.7.2替换v1.3.2会让它停止工作 - 我会非常感激。
如果我可以添加,因为窗口是由$ .window({...})制作的; - 用$ .dialog替换$ .window不会创建一个对话框。有什么地方我错了吗?请浏览js文件used in fstoke。
Qn 3 有人可以指出fstoke jquery-ui和cdn hosted jquery-ui之间存在什么差异 - 两者都是v1.7.2 jquery-ui.js文件。
我觉得这是一个很长的查询,但我迫切需要帮助。请尽早帮助我。!
答案 0 :(得分:0)
我会回答问题1。
使用两个版本的jQuery的正确语法类似于
var jQuery_1_3_2 = jQuery.noConflict(true);
function createSampleWindow() {
var no_op = jQuery.noop; // refers to jQuery 1.7.2's noop function
var no_op = $.noop; // same as the above
var no_op = jq_172.noop; // same as the above
var guid = jQuery_1_3_2.guid; // refers to jQuery 1.3.2's guid member
}
换句话说,如果你已经定义了它们,你只需使用它们。 noConflict(true)
会将$
和jQuery
恢复为之前的含义,因此您可以像往常一样继续使用它们。