我正在使用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;
答案 0 :(得分:0)
您何时致电addClickEventListenerToAllAnchorTag
功能?您是否记录了所选锚元素的列表?它是一个空数组吗?如果它是一个空数组,那么在页面加载之前就会执行JavaScript代码。