JS使用event作为参数从脚本向元素添加函数

时间:2016-02-05 09:02:47

标签: javascript events

我知道标题有点令人困惑,但我不知道如何更好地解释它。 现在我有了这个:

<script>
button.onclick=delete;
</script>

但我需要将onclick事件生成的事件发送到函数delete。 有点像...

<script>
button.onclick=delete(event);
</script>

我不知道该怎么做。 请帮忙。 谢谢。

3 个答案:

答案 0 :(得分:0)

该事件已经传递给该函数。 jsFiddle

var button = document.getElementById('myButton');

button.onclick = func;

function func(event) {
    console.log(event);
}

您必须更改函数名称,因为delete已经是javaScript中的关键字

答案 1 :(得分:0)

使用&#39;这个&#39;引用事件来源:

<script>
button.onclick=mydelete(this);

//as noted by the other answer, delete is already a function, so choose your own name
function mydelete(obj){
   //access properties of obj in here
}
</script>

或jQuery:

<script>
$(button).click(function(){
    var obj=$(this);
    //access obj properties here
});
</script>

答案 2 :(得分:0)

Event是处理程序的默认argument

function deleteFun(e){
  console.log(e)
}

document.getElementById("btn").onclick=deleteFun;
<button id="btn">click me</button>

如果您正在寻找将自定义值传递给处理程序,可以使用.bind()

function notify(str){
  console.log(str)
}

document.getElementById("btn").onclick=notify.bind(null, "Hello World");
<button id="btn">click me</button>