Результаты поиска
Найдено результатов: 2
Взаимодействие между замыканиями в JavaScript?
Есть замыкания:
(function () {
// do something
})()
(function () {
// do another thing
}) ()
Как бы вы организовали взаимодействие между объектами в этих замыканиях?
Собственно, вопрос возникает при использовании jQuery в больших проектах… вот есть, к примеру, диалоговое окно на jQuery UI. Но это как бы частный случай общей проблемы.
Обычно у меня это выглядит так:
<div id="dialog">
<p>something</p>
</div>
<button id="show_dialog_btn">Show Dialog</button>
<script>
jQuery(function ($) {
$("#dialog").dialog({
куча параметров,
ну просто тьма всяких настроек
и разные колбэки,
buttons: {
OK: function () {
// что-нибудь родить....
}
}
});
$("#show_dialog_btn").click(function () {
$("#dialog").dialog('open');
});
});
</script>
Диалоговое окно в этом случае, фактически состоит из НТМЛ разметки и джаваскрипт кода. Для простоты опустим ЦСС. Теперь, чтобы создать это же окно на другой странице, нужно либо копировать либо… А вот тут начинаются сложности… Если параметры окна зависят от каких-либо параметров в текущем замыкании, Допустим оно по нажатию кнопки Ок, должна быть вызвана «местная» для замыкания функция. Как быть?
(function () {
// do something
})()
(function () {
// do another thing
}) ()<div id="dialog">
<p>something</p>
</div>
<button id="show_dialog_btn">Show Dialog</button>
<script>
jQuery(function ($) {
$("#dialog").dialog({
куча параметров,
ну просто тьма всяких настроек
и разные колбэки,
buttons: {
OK: function () {
// что-нибудь родить....
}
}
});
$("#show_dialog_btn").click(function () {
$("#dialog").dialog('open');
});
});
</script>
Передача параметров в функцию при клике на ссылку (JQuery)?
На чистом JavaScript это выглядит как то так:
<sсript><br/>
function toFunction(m1, m2) {<br/>
alert(m1 + ' - ' + m2);<br/>
}<br/>
</sсript><br/>
<а href="javascript:toFunction(10,'text')" >Ссылка</а>
А Вот как это сделать по правилам JQuery:
<sсript><br/>
$(document).ready(function() {<br/>
$(".urlparam").click(function () {<br/>
<br/>
alert(m1 + ' - ' + m2);<br/>
<br/>
});<br/>
});<br/>
<а href="#" class=«urlparam» >Ссылка</а>
<sсript><br/>
function toFunction(m1, m2) {<br/>
alert(m1 + ' - ' + m2);<br/>
}<br/>
</sсript><br/>
<а href="javascript:toFunction(10,'text')" >Ссылка</а><sсript><br/>
$(document).ready(function() {<br/>
$(".urlparam").click(function () {<br/>
<br/>
alert(m1 + ' - ' + m2);<br/>
<br/>
});<br/>
});<br/>