В общем, единственный найденный мной способ передачи параметра в функцию-колбэк вот такой.
Common.areYouSure('Предепреждение', 'Текст вопроса?', 'Удалить ', 'не удалять', function(){Groups.destroy(id_group)}); Вся соль в этой строчке: если параметром передавать это, то колбэк запускается по наступолению события, что и требовалось. function(){Groups.destroy(id_group)} а если параметром передавать это, то колбэк запускается сразу при загрузке страницы, что изначально было проблемой. Groups.destroy(id_group) У меня все таким образом завелось. Пардон за бурю в стакане ))) Да, вот еще что: пример сделать не могу в рамках этого форума, т.к. запустить можно либо отдельно ХТМЛ, либо отдельно Яваскрипт. А у меня колбэк должен привязываться к событию онКлик на элемент ХТМЛ. |
areYouSure: function(title, question, okText, cancelText, myCallback, args) { //.... многа кода sureBox.find('#ok').bind('click', function() { myCallback.apply( this, args ); }); // .... еще кода } function mycallbackfunc() { alert( Array.prototype.slice.call( arguments, 0 ) ); } Common.areYouSure('blabla', 'blabla blabla', 'Удалить blabla', 'Отмена blabla', mycallbackfunc, [param1, param2, ... и т.д. ]); |
Цитата:
|
<div>Я просто HTML</div> <script type="text/javascript"> alert("А я JavaScript =)"); </script> |
Блин, точно, можно ))
|
Сделал как в посте 12. Сделал по образу и подобию с 1-й по 7-ю строки и с 13-й по 16-ю. Так тоже работает:thanks: areYouSure стала немножечкого запутанее выглядеть, но зато её вызов стал куда приятнее :) Нагляднее варианта ещё не встречал.
Только вот эта функция взорвала мозг: function mycallbackfunc() { alert( Array.prototype.slice.call( arguments, 0 ) ); } У нее в скобках не указаны входящие аргументы: получается что при использовании apply входящие аргументы могут не указываться в функции? Они прямо внутрь нее без указания залетают что-ли? :-? И что эта за конструкция внутри алерта такая убийственная??? :blink: Насколько я понял (предварительно погугливши), ее задача превратить полученный обьект с параметрами в обычный массив для возможности дальнейшего его вывода. Но вот главная непонятка: что это за параметр такой arguments? Это какая-то зарезервированная входящая переменная(обьект), в которой находятся все переданные call-ом параметры? Думаю что да, но не уверен. Пробовал вставлять эту строку в любую из своих вызываемых функций - она действительно выводит список аргументов. И следовательно напрашивается новый вопрос: как лучше и правильнее получать аргументы внутри вызываемой функции: через указание аргументов в скобках после слова function, или получать при помощи этого хитрого обьекта arguments, манипуляции над которым проводятся в строке 10? |
Цитата:
Цитата:
|
Огромное спасибо за помощь :) Все таки удалось понять друг-друга. Буду писать дальше. :write:
|
Часовой пояс GMT +3, время: 14:20. |