添加事件侦听器不是queryselector的函数

时间:2018-01-20 16:12:59

标签: javascript html addeventlistener

我有错误说明addeventlistener不是一个函数但是当我删除innerhtml它似乎工作

int* b;

3 个答案:

答案 0 :(得分:2)

innerHTML是字符串MDN

  

...包含描述所有元素的序列化 HTML代码   后代。

如果要设置事件侦听器,则需要获取DOM节点

var num1 = document.querySelector('.num1')

答案 1 :(得分:0)

确切地说,属性innerHTML返回html字符串内容。如果要添加事件,则必须直接在NODE元素中执行。

var num1 = document.querySelector('.num1');
var num2 = document.querySelector('.num2');


num1.addEventListener('click', function () {
    console.log('working');
    console.log(num1.innerHTML);
})
<span class="num1">1</span>
<span class="num2">3</span>

我希望这可以帮到你

答案 2 :(得分:0)

你做错了。您无法在字符串上添加eventlistener:

更新至:

var num1 = document.querySelector('.num1');
 var num2 = document.querySelector('.num2');
 num1.addEventListener('click',function num(e) {
    //if you need the innerHTML value
    console.log(e.target.value)
    console.log('working');

})


<button class="num1">1</button>
<button class="num2">2</button>