【问题标题】:Dashcode - How do I get the name of a button from an event?Dashcode - 如何从事件中获取按钮的名称?
【发布时间】:2010-09-28 00:10:13
【问题描述】:

在 Dashcode 中,您可以为检查器中的行为设置处理程序。

这是一个按钮单击的示例处理程序,我在 Inspector 中命名为“mybutton1”:

function myGetButtonName(event)
{
    var e = event.target;
    alert(e.id);
}

问题是,当单击按钮并出现警报时,它说按钮的 ID 是“DC_img1”而不是“myButton1”(这是在检查器中显示的 id 字段)。

我想我没有访问正确的 ID。

有谁知道如何获取检查器属性选项卡中显示的 id?

谢谢!

【问题讨论】:

  • 这不是一个真正的直接答案,所以我将其作为评论发布。您可以使用 console.log(event) 查看事件中可用的所有内容。如果您在任何地方都没有看到您的HTMLButtonElement,这意味着它没有发送事件。如果您使用<button><img here /></button> 并且用户直接单击图像,您可能会收到这种响应。它仍然会按下按钮,但图像会发送事件。

标签: javascript dashcode


【解决方案1】:

好的,事实证明,您可以在 Dashcode Inspector 的属性选项卡上设置的“id”是元素的 CSS id。我以前没有意识到这一点。

为了获得该信息,我使用了这个:

var x=event.currentTarget;
alert(x.id);

我不知道这是否是最好的方法,但它为我点击的每张图片提供了正确的结果。我现在在警报中获取 CSS id。

【讨论】:

  • currentTarget 在除 IE 之外的所有应用中都很好。我的回答中的方法适用于所有浏览器。
  • Tim,我的项目是一个 iPhone Web App。您建议的方法似乎不适用于 DashCode。也许您错过了我对您的建议的回复,但是当我尝试使用 alert(this.id) 时,警报显示“未定义”而不是任何名称。
  • 在这种情况下,您根本不需要我的回答。我对 Dashcode 一无所知,没有考虑通过 Inspector 分配事件处理程序,并像回答一般网络问题一样回答。对不起。
  • 蒂姆,不用道歉。非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2012-11-29
  • 1970-01-01
  • 2011-12-13
  • 1970-01-01
  • 1970-01-01
  • 2018-10-12
  • 2018-10-09
  • 2014-10-20
相关资源
最近更新 更多