2013-08-02 2 views
0

Я использую другую функцию javascript. Проблема в том, что они имеют одно и то же имя, поэтому они перезаписывают друг друга. Я хотел бы назвать другое имя, но пока это не сработало.JS множественная функция с таким же именем

Вот одна из функции и, как я использую его:

<script type="text/javascript">  
    $(function() { 
     $('#datepicker').multiDatesPicker({ 
      altField: '#date', 
      dateFormat: "yy-mm-dd", 
     }); 
</script> 

<div id="datepicker"></div> 

Другая функция запуска, как это тоже $(function() {} и использовать тот же путь <div id="date"></div>

я пытаюсь поставить $(function name(), но он не сделал Работа. У вас есть идеи? Благодаря

+0

Эта функция является анонимным, поэтому он не может быть перезаписана. – xanatos

+0

Вы имеете в виду, что у вас есть библиотека, конфликтующая с синтаксисом '$'? Если это так, используйте noConflict(): http://api.jquery.com/jQuery.noConflict/ – CodingIntrigue

+0

да, это проблема, но я не могу найти способ ее решить. – usertfwr

ответ

3

Это призыв к $ (в вашем случае, это JQuery), с одним аргументом, который случается быть анонимной функции. Он не имеет названия, и имеющие более одного вхождения этого шаблона не будет «перезаписать» предыдущая:

$(function() { 
    // ... 
}); 

Передача функции в $ просто сокращение для $(document).ready(). Если вам нужно больше, чем один, вы должны быть в состоянии просто объединить их:

$(function() { 
    // Initialise your date picker 
    // Do some other stuff 
}); 
+0

если я объединю их только в первую работу, а не второй \t как:. $ (функция() {\t \t \t $ ('# DatePicker') multiDatesPicker ({...}); $ ("#dialog") .dialog ({..}); }); – usertfwr

+0

Тогда что-то не так со вторым. Это работает, если вы удалите первый? –

+0

да, это работает. Если я поставлю второй сверху, это первый (станет вторым), который перестанет работать – usertfwr

0

, что функция представляет собой сокращенную $ (документ) .ready(), который является просто обязательным к готовому событию документа. все это означает, что вы можете иметь столько, сколько хотите, без перезаписи друг друга.

см jsfiddle

$(function() 
    { 
     alert('func1'); 
    }); 
$(function() 
    { 
     alert('func2'); 
    }); 
Смежные вопросы