Переопределить JavaScript в Framework7

У меня есть HTML-страница posts.html в Framework7. Вот код JS для части posts.html.

myApp.onPageInit('posts', function (page) {
    openPostsPageFromDB(function(html){
        html = '<ul>'+html+'</ul>';
        $$(".posts-page div.posts").html(html);
        pageJS();
    });
});
function pageJS(){
    $$(".post a,.post .post-channel-image,.post #tags").on("click",function(e){
        e.stopPropagation();
    });
}

openPostsPageFromDB возвращает содержимое HTML после извлечения значений из БД. Я заменяю содержимое HTML файла posts.html на соответствующее возвращаемое значение и затем вызываю pageJS(), чтобы переопределить обработчик события click для определенных элементов в HTML.

Но события не переопределяются, и обработчики событий, определенные по умолчанию в Framework7, запускаются. Есть ли работа вокруг этого?

1 ответ

Решение

Метод jQuery .on("click",function(e){}) просто добавляет другого прослушивателя событий в очередь прослушивателей событий элемента. Итак, в вашем случае, если вы хотите отменить все прослушиватели событий щелчка, вам нужно что-то вроде этого:

.unbind('click');

Обновление № 1

unbind метод был исключен из jQuery 1.7, поэтому вы должны вместо этого использовать off метод.

.off('click');
Другие вопросы по тегам