【发布时间】:2013-11-27 23:24:46
【问题描述】:
致那些因为之前有人问过而投反对票的好人:我的问题不是关于隐式事件参数。我不知道。事件参数是答案,而不是问题。
function myEventHandler() {
var eventSrcType=(event.srcElement) ? event.srcElement.type : 'type undefined';
alert(eventSrcType);
}
当用户单击图像(“onclick”)时调用该函数,例如
<a href="javascript:void(0)" onclick="myEventHandler();">
显然分配有问题,因为alert 从未被执行。这里有什么问题?
(我试过window.event,但Dreamweaver 没有提示event 是window 的成员。无论如何,它也不起作用)
编辑
所有答案都暗示隐式传递的event。所以我将它添加为函数的参数(不带参数调用),
function myEventHandler(event) {
var eventSrcType=(event.srcElement) ? event.srcElement.type : 'type undefined';
alert(eventSrcType);
}
但我仍然没有收到警报。
将this 作为参数传递会显示“类型未定义”,但我希望这里是锚类型。
【问题讨论】:
-
@downvoter:请解释为什么这不是一个好问题。
-
我没有DV,但可能是因为之前被问过多次
-
Ehh...停止使用内联事件处理程序(切换到
addEventListener)和愚蠢的javascript:void(0)可憎。 -
@bažmegakapa:既然你打电话给
javascript:void(0)既愚蠢又可憎,你能告诉我们什么是正确的方法吗?链接没问题。 -
@GeertGoeteyn 很高兴你问:)。当您需要一个除了调用 Javascript click 事件处理程序之外什么都不做的元素时,请使用
<button type="button">,而不是链接,它旨在指向某些东西 - 因此,使用javascript:void(0)只不过是可憎的。这是一种应该被遗忘的做法,是过去的糟糕记忆,但过时的 Javascript 教程仍然存在。 Read more
标签: javascript events