Показать сообщение отдельно
  #5 (permalink)  
Старый 16.04.2015, 20:03
Интересующийся
Отправить личное сообщение для igorz Посмотреть профиль Найти все сообщения от igorz
 
Регистрация: 19.09.2014
Сообщений: 23

Сообщение от laimas Посмотреть сообщение
И $(document).ready(function () внутри функции это излишек.
Да, возможно. Но поставил скорее "на всякий случай".

Сообщение от nikita.mmf Посмотреть сообщение
$('#testHref').on('click', second);
...
function second() {
   ...
   return false;
}
Спасибо. Оно работает. Только пришлось ещё дополнительно убрать первую привязку, которая остаётся висеть на онклике.

Но всё-же не до конца понимаю.
На хабре нашёл что пишут вот так:

Получается что это, как там же написано, приватная область видимости, к которой я не могу добраться из внешней.
А что тогда происходит при вашем
$('#testHref').on('click', second);

что оно всё-же видится из внешней области ?

Ещё там-же (в той статье) в конце пишут про "пространство имён" с применением private и public методов. Такой подход применяется ? Стоит ли на него обратить внимание ?
var Module = (function () {
    var myModule = {};

    var _privateMethod = function () {
        console.log("privateMethod message");
        $(document).ready(function () {
            $('#testHref').attr('onclick', 'Module.newOnClick(); return false;');
        });
    };

    myModule.publicMethod = function () {
        console.log("publicMethod message");
        _privateMethod();
    };

    myModule.newOnClick = function () {
        console.log("myModule.newOnClick");
        $('#div-body').html('New Text Here');
    };

    return myModule; // returns the Object with public methods
})();

Module.publicMethod();
Ответить с цитированием