首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从XBL调用方法

从XBL调用方法
EN

Stack Overflow用户
提问于 2010-12-21 21:01:17
回答 2查看 170关注 0票数 0

在XBL方法中,当我需要调用另一个方法时,我会这样做:

代码语言:javascript
复制
        <method name="myMethod_1">
            <body>
                <![CDATA[
                    // do staff
                ]]>
            </body>
        </method>


        <method name="myMethod_2">
            <body>
                <![CDATA[
                    document.getElementById("thisElementID").myMethod_1();
                ]]>
            </body>
        </method>

我想知道是否有一种方法可以调用本地方法而不需要元素id?我尝试过this.myMethod_1(),但它显示该方法不存在。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-22 23:05:03

你能给我们展示一下调用myMethod_2的代码吗?如果你像这样调用它: document.getElement(...).myMethod_2(),但如果你有像someElement.addEventHandler("click",myxbl.myMethod_2,...)这样的东西,那就不能工作了,因为事件目标将是这样的。

这对于在该上下文中确定这是什么非常重要

编辑:(汤姆的回复)

现在,我想我明白了..。这正是问题所在..我从另一个文档的按键监听器调用它,而"this“不是我所想的..

票数 0
EN

Stack Overflow用户

发布于 2011-01-11 05:08:11

在事件侦听器的特定情况下,还有另一种解决问题的方法,即将元素本身作为侦听器进行传递。当然,您只有一个handleEvent方法,所以如果您在许多不同的事件目标上侦听许多不同的事件,那么这就没有那么有用了。

代码语言:javascript
复制
<implementation implements="nsIDOMEventListener">
  <method name="handleEvent">
    <parameter name="aEvent"/>
    <body>
      <![CDATA[
        // do stuff
      ]]>
    </body>
  </method>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4499500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档