2017-02-19 82 views
-2

嘿家伙!需要JavaScript语句解释('this'and'event')

今天好吧,我要问的是,特定的JavaScript语句thisevent如何以外行人的方式工作。

用你自己的话说;请描述这两条语句以及它们如何用于特定的html组件。

我只依稀知道event声明是如何工作的。从我所能理解的是,它只是陈述一个事件,但是一旦事件通过,它将丢失所有数据并重新启动,以便在下次使用它时,它可以重新开始,并且最近使用它的事件不会记住它自己的过去。对我来说,它基本上是一只被推过马路的鸡,但是当它完成时,它突然被运回到它最初开始的地方;无法记住任何东西。不管是那个还是来自Moana的鸡Heihei。

但是,我的理解只是模糊不清,因为我在event声明中发现的所有内容都太复杂或太模糊。如果任何人都可以加入,这将是非常好的。

然后是this声明。 我完全不明白这一点。 那么......我该如何使用它来获取其包含的HTML元素的属性,如id,name,value等。

例如:

<input type="button" id="demo" name="dono" value="dem" onclick="caller(event)"/> 
    <input type="button" id="demo2" name="dono2" value="dem2" onclick="caller(event)"/> 

<script> 
    function caller(event){ 
    //How can you get the id, name, and value of the element that called this event? 
    } 
</script> 

如果任何人有一个解释,请分享。 不要模糊你的答案。 是的,只是把一个链接没有解释被认为是一个模糊的答案。

这是一个对话式的问题,我希望有人会回答这个问题。

+0

好吧,我知道我是愚蠢的JavaScript,但,这只是因为我只是一个初学者。我在这个语言的深层方面并没有真正的经验,所以他们对我们有怜悯。而且“layman”这个词的意思是newb。 – Arkonsol

回答

1

这样:

<input type="button" id="demo" name="dono" value="dem" onclick="caller(this)"/> 
    <input type="button" id="demo2" name="dono2" value="dem2" onclick="caller(this)"/> 

<script> 
    function caller(event){ 
    console.log(event.target.id); 
    console.log(event.name); 
    console.log(event.value); 
    } 
</script> 
+0

它可以是'this.id'或'event.target.id' – slebetman

+0

或IE 8及以下'event.srcElement.id' – slebetman

+0

你没错,改变了。感谢 –