Firefox onClick事件不起作用

时间:2017-08-29 05:30:17

标签: javascript firefox

我正在尝试调试第三方脚本。

在Chrome中运行良好。但Firefox不会注册onclick事件。

任何想法为什么FireFox不会玩得很好?

我尝试按照建议here添加return false;,但它不起作用,并补充说,在最后一个结束括号上方只会在控制台中查看时产生更多错误。

	function ac_event(event, eventdata) {
    
    return ajax({
        url: activecampaignevent.ajax_url,
		type: 'POST',
        data: {
			action: 'ac_event',
			event: event,
            eventdata: eventdata
		},
		success: function (response) {
			console.log('response', response);
		}
    });
    
    function ajax(options) {
        var request = new XMLHttpRequest();
        var url = options.url;
        var data = encodeData(options.data);
        
        if (options.type === 'GET') {
            url = url + (data.length ? '?' + data : '');
        }
        request.open(options.type, options.url, true);
        request.onreadystatechange = onreadystatechange;
        
        if (options.type === 'POST') {
            request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
            request.send(data);
        } else {
            request.send(null);
        }
        return;
        
        function onreadystatechange() {
            if (request.readyState === 4 && request.status === 200){
                options.success(request.responseText);
            }
        }
        function encodeData(data) {
            var query = [];
            for (var key in data) {
                var field = encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
                query.push(field);
            }
            return query.join('&');
        }
    }

}
<a href="https://somelink.com/" onclick="ac_event('Link Clicked', 'Some Link');">Click this link to test</a>

1 个答案:

答案 0 :(得分:0)

您可以在javascript中创建事件,并使用browserDefault将其分配给浏览器事件。

document.querySelector("#LinkID").addEventListener("click", function(event){
          //do your code here
            alert("preventDefault will stop you to go")
            event.preventDefault();
        }, false);