簡體   English   中英

Zepto活動

[英]Events in Zepto

我是Zepto的新手,我正在嘗試做一些非常簡單的事情,但是似乎我無法以任何方式做到這一點。 我正在嘗試將一個函數綁定到Zepto中的click事件,但是即使未觸發該事件,該函數也會被執行...

這是我的js文件的內容:

$(document).ready(function() {

    if (!$('.page').hasClass('.current')) {
        $('#home').addClass('current');
        $('.page .content').css('display', 'none');
    $('#home .content').css('display', 'block');
}

$('#menu-trigger').on('click', switchPage('search', 'fade'));

function switchPage(pageID,switchType) {
    oldPageID = '#' + $('.page.current').attr('id');
    newPageID = '#' + pageID;
    if(switchType =='fade') { // Fade Effect
        // $(oldPageID).hide();
        alert('done');
    }
}
});

問題是該函數在我重新加載html后立即執行,而不必等待'click'事件。

當您僅使用switchPage('search', 'fade') JS評估該函數並嘗試設置其返回值時,請改用此函數。

    $('#menu-trigger').on('click', function () { switchPage('search', 'fade') });

如果您使用帶有out參數的函數,則可以使用

    $('#menu-trigger').on('click', switchPage );

區別在於指定哪個對象將用作回調,以及使函數實際執行,並將返回值指定為回調。

您的代碼應為:

$('#menu-trigger').on('click', switchPage);
function switchPage(pageID,switchType) {
    oldPageID = '#' + $('.page.current').attr('id');
    newPageID = '#' + pageID;
    if(switchType =='fade') { // Fade Effect
        // $(oldPageID).hide();
        alert('done');
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM