这篇文章会介绍addEventListener事件处理函式,它其实和event的监听事件很像,但是addEventListener有它的方便性和特点,我们赶快来认识吧!
addEventListener("click",func)
"click"
为事件处理器(callback),可以放入change、blur等事件,和event的不同在於事件的前面开头不用加on,像是:onclick,只需使用click。func
为要呼叫的函式名称。<body style="background-color:antiquewhite">
台湾臭豆腐$60:<input type="number" id="tofu" value="0" />盘<br />
韩国起司泡面$120:<input type="number" id="noodles" value="0" />碗<br />
总共<span style="color:red" id="subtotal">0</span>元
<script>
//script区块这时候必须放在body区块的最後面,否则会发生错误!
var tofu = document.getElementById("tofu");
//var为全域变数,故在function中tofu变数名称也可以被使用
var noodles = document.getElementById("noodles");
tofu.addEventListener("change", total);
//1.监听tofu物件是否被触发
//2.也可以使用this.addEventListener
//3.this的意思是目前使用者触发该事件的物件(元素)
noodles.addEventListener("change", total);
//1.监听noodles物件是否被触发
//2.也可以使用this.addEventListener
function total() {
var money;
var x = tofu.value;
if (x < 0) {
x = 0;
}
//检查使用者是否输入负值,若为负值,则将该输入框的值设定成0
var y = noodles.value;
if (y < 0) {
y = 0;
}
money = x * 60 + y * 120;
//计算$
document.getElementById("subtotal").innerHTML = money;
};
</script>
</body>
补充:在上面这个范例中,若script
区块放在head
中,则会发生以下错误:
因JavaScript 是从上到下进行编译,故执行时,body中的物件还没被建立,所以编译器会找不到,因此发生错误。所以需移至body的最後面就可以解决这个问题了!
这篇文章介绍了addEventListener事件处里函式,也举了一些例子,像是自动监听使用者的操作行为,来做相对应的回应等。下一篇会介绍javascript的表单资料处理和验证!
离线後备页面介绍 (offline fallback page) 离线後备页面提供用户在网路不稳定的...
电子助教:「这个标题...我闻到了停刊的味道... (́⊙◞౪◟⊙‵)」 这个章节开始我们要建立「数...
想必大家都有这个困扰 如果今天要叫出10个div、再宣告不同的class 就要一直反覆的输入div、...
本文将於赛後同步刊登於笔者部落格 有兴趣学习更多 Kubernetes/DevOps/Linux 相...
使用双色调并不是十麽新鲜的事情,最早可以追溯到 60 年代,传统的单色印刷或之後随着数码技术日渐流...