javascript, связывающий onclick с .js файлом - PullRequest
5 голосов
/ 24 февраля 2011

Я создал файл .js, а затем включил его в HTML-страницы следующим образом:

<script type="text/javascript" src="yourexternalfile.js"></script>

Как вызвать функцию файла .js, используя onclick = "...."?

Я знаю, что это будет что-то вроде:

<input type="BUTTON" value="Exit" onclick="javascript: ???;" >

, но я не могу понять это ...

Ответы [ 8 ]

8 голосов
/ 24 февраля 2011

Если вы используете JQuery, вы можете сделать это так,

       <input type="button" onclick="javascript: $.getScript('../scripts/yourfilepath' , function (){ youFunctionCall() ; } );" />

Это загрузит файл JS при нажатии кнопки и выполнит функцию, вызываемую внутри.

7 голосов
/ 24 февраля 2011

Скажите, что ваша функция была ...

function myFunction() {
    alert("hello!");
}

Примером триггера будет ...

<input type="button" onclick="myFunction(); return false;" value="Click me!" />
1 голос
/ 24 февраля 2011

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

0 голосов
/ 04 июля 2016

Я бы предложил добавить событие нажатия в файле JS следующим образом:

html:

<input type="button" id="myButton"/>

Файл JS:

var myButton = document.getElementById('myButton');
        myButton.onclick = function(){myFunction()};

Таким образомВы можете запрограммировать элемент из файла Javascript.Просто поместите его в функцию, которую вы вызываете под нагрузкой.

0 голосов
/ 24 февраля 2011

Вы пробовали вводить название функции? Например, onclick = 'myFunction ()'

0 голосов
/ 24 февраля 2011

Знать, когда JS-файл загружен (а) и (б) выполнено, сложно, поскольку он поддерживается не всеми браузерами.

Я полагаю, вы думаете что-то вроде:

var s = document.createElement("script"),
    f = document.getElementsByTagName('body')[0];
s.type = 'text/javascript';
s.src = "https://ajax.googleapis.com/ajax/libs/dojo/1.5.0/dojo/dojo.xd.js";

s.addEventListener("load", function() {
   console.log("script loaded");
});

f.appendChild(s);

Как я уже говорил выше, это не будет работать для всех браузеров. И даже если это произойдет, это не будет очень полезно для вас, если вы на самом деле пытаетесь выполнить некоторый код, основанный на JS, который загружается динамически.

Единственный надежный способ выполнения чего-либо при загрузке зависимости - это обернуть эту зависимость в функцию. Таким образом, когда браузер анализирует этот JS, он выполнит эту функцию, которая даст вам знать, что вы можете начать использовать все, что хотите, чтобы внести. Именно поэтому JSONP работает так, как работает.

Если это то, что вы хотите сделать, посмотрите на RequireJS .

0 голосов
/ 24 февраля 2011

используйте <script type="text/javascript" src=""> для импорта файла js внутри вашей страницы.

0 голосов
/ 24 февраля 2011

включите в свою страницу файл внешнего java-скрипта (желательно в теге head), используя

<script type="text/javascript" src="yourexternalfile.js"></script>

, и затем вы можете вызвать любую функцию, определенную в js-файле

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