Javascript点击事件回调无效

时间:2015-04-08 09:29:38

标签: javascript callback onclick

我正在使用javascript来处理点击事件。 代码如下:

function addClickEventListenerToAllAnchorTag() {

    var anchors =  document.getElementsByTagName("a");

    for(var i = 0; i < anchors.length; i++) {
        var anchor = anchors[i];

        var guid = anchor.attributes.getNamedItem('GUID');
        if(guid)
        {
            anchor.addEventListener("click", onClickLoginPopup);
        }
    }   
} 

这里我将获取具有GUID属性的所有锚标记并向其添加click事件侦听器。 但我的回调函数onClickLoginPopup永远不会被调用。

function onClickLoginPopup(e) {
    console.log('onClickLoginPopup');
    e.preventDefault();
    var host = window.location.hostname;

    var url = this.href;    

    var guid = this.attributes.getNamedItem("GUID"); 

    var mainPopup = document.getElementById('popupMain');
    var popupPayment = document.getElementById('popupPayment');



    if( mainPopup == null ) {
        console.log(mainPopup);
    } 
    else if(userID)
    {
        showSocialLoginPopup(); 
        return false;
    }
    if(popupPayment !== null){
        showPaymentPopup();
    }
    //articleLinkClickAction(guid);
    return false;
}

致电代码:

function mpwInit() {

    addPopupContents();
    addClickEventListenerToAllAnchorTag();
}

includeScripts();
window.onload = mpwInit;

1 个答案:

答案 0 :(得分:0)

您何时致电addClickEventListenerToAllAnchorTag功能?您是否记录了所选锚元素的列表?它是一个空数组吗?如果它是一个空数组,那么在页面加载之前就会执行JavaScript代码。