#javascript #jquery #jquery-ui #jquery-plugins
#javascript #jquery #jquery-пользовательский интерфейс #jquery-плагины
Вопрос:
Я пытаюсь использовать jquery в своем приложении, где я уже использовал некоторые jquery ранее в нескольких местах. как бы то ни было, теперь я хочу добавить еще одно объявление для моей презентации tab. Я практикую это следующим образом..
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js">
</script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js">
</script>
</head>
<body>
<script>
$(function() {
$( "#my_tabs" ).tabs({
event: "mouseover" //click
});
$.noConflict();
});
</script>
Но когда я использую это, мой предыдущий jquery, который я использовал с другой частью той же страницы, перестает работать. Я думаю, что у двух jquery есть конфликты. Я пытался сделать это с помощью $.noConflict (), как показано в приведенном выше коде, и это не работает, я думаю, что я что-то упускаю. Пожалуйста, помогите …
Комментарии:
1. Вы включаете jquery несколько раз на одной странице? Если да, то почему?
Ответ №1:
Вот каким должен быть ваш код:
<script>
var jq = $.noConflict();
jq(function() {
jq( "#my_tabs" ).tabs({
event: "mouseover" //click
});
});
</script>
Или в качестве альтернативы,
(function( $ ){
$( "#my_tabs" ).tabs({
event: "mouseover" //click
});
})( jQuery );
Последняя известна как самозваная анонимная функция и используется для сопоставления $
с jQuery
объектом, что означает, что вы можете безопасно использовать $
внутри.
Комментарии:
1. На самом деле, есть третий, лучший способ:
jq(function($) { /* your code using $ here */ });
— функция document.ready всегда получает объект jQuery в качестве своего первого аргумента
Ответ №2:
var JQN = jQuery.noConflict();
пример использования:
JQN("#id");