簡體   English   中英

觸發JavaScript onclick事件,無需任何點擊

[英]JavaScript onclick event fired without any click

我正在嘗試清除元素的url,並且一切正常,但是onclick事件直接在頁面加載時觸發,但單擊時不觸發。 我怎樣才能解決這個問題。

HTML:今天的通話清單

JS:

var buttons = document.querySelectorAll('.button');
var reset = document.querySelector('.reset');

function forEach(array, action) {
  for (var i = 0; i < array.length; i++) {
    action(array[i])
  };
}

function clear_url_parameters(element) {

  if (!element)
    return false;
  var element_url = element.getAttribute('href');

  var split_url = element_url.split("?");

  var queries = split_url[1].split("&");

  var new_queries = [];

  for (var i = 0; i < queries.length; i++) {
    query = queries[i].split("=");
    new_queries.push(query[0] + "=");
  }

  cleared_url = split_url[0] + new_queries.join('');

  element.setAttribute('href', cleared_url);

}

reset.addEventListener('click', forEach(buttons, clear_url_parameters));

jsfiddle上的演示

謝謝

您正在將執行forEach函數的結果傳遞給事件偵聽器。

嘗試這個:

reset.addEventListener('click', function () { forEach(buttons, clear_url_parameters); } );

更改

reset.addEventListener('click', forEach(buttons, clear_url_parameters));

reset.addEventListener('click', function(){
    forEach(buttons, clear_url_parameters)
});

因為您傳遞給addEventListener的參數已被調用。

暫無
暫無

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

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