亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js中onchange事件綁定怎么傳參?

js中onchange事件綁定怎么傳參?

吃雞游戲 2018-11-22 14:15:07
<input type="file" type="file" accept="image/*" onchange="previewImage" multiple/>onchange里面填寫previewImage能在previewImage函數里面獲取到一個值(很多人都會寫成e),里面有files,這個e是什么?如果在onchange里面填寫previewImage('segmentfault'),在previewImage函數里面獲取到只能獲取到segmentfault,那個e跑哪兒了?想同時獲取怎么辦?還有就是previewImage('segmentfault')和previewImage的區別?傳previewImage的時候不是只是個引用么,為什么會直接調用?求推薦一本js的教程或書,現在只會用個jq,用個vue,用各種js庫。。但是碰到問題總解決不了,沮喪。。想從基礎的學起,求推薦本書
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

previewImage的參數可以是this,這里指的是<input>這個標簽。
通過this.files來操作文件,比如this.files.length是文件的個數,this.files[index]指向對應的文件。
previewImage的參數可以是也可以是event,指的是change這個事件。

至于添加事件處理程序,可以
1.直接把js代碼寫在引號里,如

<input type="file" accept="image/*" onchange="alert

(event.type);" multiple/>

2.onchange = 函數名,函數聲明在腳本中。如果"previewImage"不加()是不會執行的吧。

<input type="file" accept="image/*" onchange="previewImage

(this)" multiple/>

<script> function previewImage(obj){

            alert(obj.files.length);

        };</script>

3.DOM0級事件處理程序

<input type="file" accept="image/*" multiple/>

<script> document.getElementsByTagName("input")[0].onchange = function(){

            alert(event.type);

        };</script>

4.DOM2級事件處理程序

<input type="file" accept="image/*"  multiple/>

<script> document.getElementsByTagName("input")[0].addEventListener("change",function(){

            alert(event.type);

        });</script>`

或者IE7 8中為`<script> document.getElementsByTagName("input")[0].attachEvent("onchange",function(){

            alert(event.type);

        });</script>

我可能有寫錯的地方,最好的方法是自己實踐一下。
書我看的是《JavaScript高級程序設計》第三版。

查看完整回答
反對 回復 2018-12-12
  • 1 回答
  • 0 關注
  • 4199 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號