单击标记时不触发函数

时间:2016-02-18 01:13:15

标签: javascript jquery

请帮忙!我试图在点击一个标签时调用一个函数。

<a href="<?php echo "javascript:pager('".$start."', 'search-inbox', '".$keyword."', 'prev')"; ?>" id="prev" class="pager-link"><i class="fa fa-chevron-left inbox-pager" id="prev"></i></a> 
<a href="<?php echo "javascript:pager('".$start."', 'search-inbox', '".$keyword."', 'next')"; ?>" id="next" class="pager-link"><i class="fa fa-chevron-right inbox-pager" id="next"></i></a>

在我的剧本中

function pager(start, searchKeyword, keyword, page){
    var pager = page;
    switch(pager){
        case "prev":
                if(start > 10 && start <= totalCount){
                start -= limit;
                if(start == 1 || start > 1){
                    loadMessages(start, searchKeyword, keyword);
                } else {
                    return;
                }                       
            }
            break;
        case "next":
            if(end < totalCount){
                start += limit;
                if(start < totalCount){
                    loadMessages(start, searchKeyword, keyword);
                } else if(start == totalCount){
                    loadMessages(start, searchKeyword, keyword);
                } else {
                    return;
                }
            }
            break;
    }
    alert(pager);
}

此功能不是触发器,但是当我省略开关状态时,我可以触发该功能。

function pager(start, searchKeyword, keyword, page){
    alert(page);
}

新手在这里

4 个答案:

答案 0 :(得分:0)

Attach event listeners in your js file rather than inline in HTML.

$(document).ready(function(){
    // Attach event listeners
    $('.bigButton, #menuButton, #aboutButton').on({
    'click': fClick,
    'mouseover':fMouseOver,
    'mouseout':fMouseOut,
    'mouseup':fMouseUp,
    'mousedown':fMouseDown,
    });
});

    // Event Functions
function fMouseOver(e){ 
    if (this.id == 'menuButton') {
        //do something
    }
     if (this.className == 'bigButton') {        
        //do something
    }
}

答案 1 :(得分:0)

请尝试使用switch(page) {..}。保留var pager = page;

我的猜测是它在某种程度上变成了“价值传递”的情况。

答案 2 :(得分:0)

return将您带出该功能。完全跳过警报。所以该函数实际上正在运行,只是它正在静默地执行。

答案 3 :(得分:0)

我看到错误我将$ start包含在单引号('')中,所以我传递了一个字符串而不是整数。

<a href="<?php echo "javascript:pager(".$start.", 'search-sent', '".$keyword."', 'prev')"; ?>" id="prev-sent" class="pager-link"><i class="fa fa-chevron-left sent-pager" id="prev-sent"></i></a> 
<a href="<?php echo "javascript:pager(".$start.", 'search-sent', '".$keyword."', 'prev')"; ?>" id="next-sent" class="pager-link"><i class="fa fa-chevron-right sent-pager" id="next-sent"></i></a>