Вызовите функцию javascript, используя имя файла js - PullRequest
0 голосов
/ 19 февраля 2012

У меня есть два файла js. Один использует синтаксис prototype и jQuery. Почему-то они не работают вместе. Я могу попытаться вызвать функции внутри файлов, используя filename.functionname как-то так.

Пожалуйста, скажите мне синтаксис, чтобы сделать это, ИЛИ есть ли какой-нибудь другой способ заставить protoype и jQuery работать вместе, так как некоторая часть их синтаксических столкновений.

Ответы [ 2 ]

3 голосов
/ 19 февраля 2012

Вы не можете вызывать функцию по имени файла.

Использовать jquery noCoflicts

Краткий пример из документов:

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
    // Code that uses jQuery's $ can follow here.
  });
  // Code that uses other library's $ can follow here.
</script>
0 голосов
/ 19 февраля 2012

Рекомендуется не использовать более одной библиотеки javascript на одной странице, для этого есть много причин, но, на мой взгляд, самое важное: зачем загружать 2 разных фреймворка? они обычно довольно большие по размеру и в большинстве случаев имеют много общих функций.

Однако вы можете попытаться сделать это с помощью: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

Что касается синтаксиса для вызова метода с использованием имени файла, которого не существует. Как только браузер загружает код JavaScript, он добавляет его в глобальную область документа. Что вы можете сделать, это поместить вещи в «пространства имен», что-то вроде:

var MyNamespace = {
  methodA: function() {
    // do something
  },
  methodB: function() {
    // do something
  }
};

MyNamespace.method();

Проблема, однако, в том, что вы используете сторонние библиотеки, которые не заключены в пространства имен, по крайней мере, не весь их код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...