Область видимости функции
Привет всем! :)
В index.php подключается отдельный js файл, namefile.js, в котором имеем простую функцию: $(document).ready(function() { function f(){ alert('123'); } }); В index.php есть такой js код: $(document).ready(function() { f(); }); Подскажите, как сделать, так чтобы функция f из namefile.js, вызвалась без ошибок в index.js? Буду очень признателен, за помощь :) |
$(document).ready(function() { f = function(){ alert('123'); } }); НО! f станет глобальной. Что может повлечь за собой проблемы в других местах разных функий. Во вторых. Зачем вам использовать в индексе функцию которая подключается им же? |
PeaceCoder, я специально существенно упросил код. Я бы конечно мог сделать функцию в index.php, но если я буду так делать, то это будет просто бардак. Мну нужно вызывать отдельные функции из разных подключаемых файлов, аккуратненько разложенных по всему проекту.
А как бы вы поступили? |
Цитата:
Выделите какуюто переменную например INCS. Она единственная будет глобальной. А в подключаемых файлах присоединяйте все функции/данные к ней. При этом у Вас будет доступ к ним, а они в свою очередь не будут гадить в глобал. Все красиво и аккуратно |
для этого в файле namefile.js уберите обработчик события
$(document).ready(function() { function f(){ alert('123'); } }); и сделайте просто function f(){ alert('123'); } |
Skipp, я не просто так беру функции в "обертку" jquery.
|
Цитата:
|
Цитата:
|
какой ещё функционал???
у вас функция вызывается до её создания, что тут упрощаете вы? |
Цитата:
|
достаточно просто рассказать, что за функция в namefile.js: 1) что она делает; 2) что она делает в document.ready. Можно даже несколько примеров функций привести. Но, скорее всего, проще будет привести код
|
Цитата:
$(document).ready(function() { }) А я посмотрю, может чего нового узнаю... Цитата:
Цитата:
Да и в любом случае с проблемой я уже разобрался:) Так что спасибо. |
Цитата:
<!DOCTYPE HTML> <html> <head> <style type="text/css"> body { font-family: "Palatino Linotype", Palatino, Palladio, "URW Palladio L", "Book Antiqua", Baskerville, "Bookman Old Style", "Bitstream Charter", "Nimbus Roman No9 L", Garamond, "Apple Garamond", "ITC Garamond Narrow", "New Century Schoolbook", "Century Schoolbook", "Century Schoolbook L", Georgia, serif; } a { color: #016; text-decoration: none; } a:hover { text-decoration: underline; } </style> </head> <body> <p>я - содержимое странички <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> <script type="text/javascript"> $('<a href="#">я - сцылко</a>').appendTo(document.body); </script> </body> </html> <!DOCTYPE HTML> <html> <head> <style type="text/css"> body { font-family: "Palatino Linotype", Palatino, Palladio, "URW Palladio L", "Book Antiqua", Baskerville, "Bookman Old Style", "Bitstream Charter", "Nimbus Roman No9 L", Garamond, "Apple Garamond", "ITC Garamond Narrow", "New Century Schoolbook", "Century Schoolbook", "Century Schoolbook L", Georgia, serif; } a { color: #016; text-decoration: none; } a:hover { text-decoration: underline; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> <script type="text/javascript"> function f(){ $('<a href="#">я - сцылко</a>').appendTo(document.body); } $(function(){ f(); }); </script> </head> <body> <p>я - содержимое странички </body> </html> Цитата:
|
DenQ,
Перед тем как использовать jQuery узнайте что такое js а особенно события(onload к примеру) и возможно поймёте, что вы делаете не так. |
Цитата:
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 01:22. |