如何在JS中传递this参数的

JavaScript015

如何在JS中传递this参数的,第1张

首先,你上面的js写法就有问题了。onchage="change1(this)"中的this表示当前表单组件的DOM对象,你上面的意思是表示name="name" 的文件框DOM对象,当值改变时,传this对象之后你的chang1(this)的方法是获取到了name="name" 的文件框的值。

如果你想在function sub()函数中调用chang1(),可以看我下面的写法

function sub(){

var obj = document.getElementByName('name')[0]//获取name="name" 的文件框DOM对象

chang1(obj)

}

希望对你有帮助。。。

this表示调用时间的对象,就是指这个事件的select。

一、js中onchange事件绑定怎么传参?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>