Facebook 页面/选项卡中的 javascript [fbjs]

发布于 2024-10-05 07:13:50 字数 382 浏览 1 评论 0原文

我只是想在 facebook 应用程序(商业)选项卡上使用一些选项卡功能

我有一些基本的 HTML 和 JS [fbjs],这似乎不起作用 我不知道出了什么问题。

<div id="foo">foo div</div>


<script><!-- 
function changeText(evt){  
    evt.target.style.display = "none";
}

var foo = document.getElementById('foo');
foo.addEventListener('click',changeText);
//--> </script>

我缺少什么?

I simply want some tabbing functionality on a facebook application (business) tabs

I have some basic HTML and JS [fbjs], this doesn't seem to work
I have no clue whats wrong.

<div id="foo">foo div</div>


<script><!-- 
function changeText(evt){  
    evt.target.style.display = "none";
}

var foo = document.getElementById('foo');
foo.addEventListener('click',changeText);
//--> </script>

What am i missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

带刺的爱情 2024-10-12 07:13:51

它在 Chrome 中对我有用。您使用什么浏览器?您确定嵌入此代码的页面不包含另一个 id 为“foo”的元素吗?

It works for me in Chrome. What browser are you using? Are you sure the page you are embedding this code in doens't contain another element with id "foo"?

献世佛 2024-10-12 07:13:51

当您在 Facebook 中运行脚本时,Facebook 实际上会更改脚本运行的 JavaScript 和 DOM 环境。 FBJS (Facebook JavaScript) 针对事件和 DOM 元素等内容设置了多个包装器。这意味着像 DOM_Element.style.some_attribute 这样的东西将不起作用。如果您想获取或设置元素的样式,则需要使用 DOM_Element .getStyle()DOM_Element.setStyle() 相反。

事件按照 W3C 指定的方式工作:

来自文档:

//add event listener to 'foo' div (mouseover & mouseout)
document.getElementById('foo').addEventListener('mouseover',myEventHandler);
document.getElementById('foo').addEventListener('mouseout',myEventHandler);

Facebook actually alters the JavaScript and DOM environment in which your scripts run when you run them in Facebook. FBJS (Facebook JavaScript) sets up several wrappers around things like events and DOM elements. That means that things like DOM_Element.style.some_attribute will not work. If you want to get or set the styles of an element, you're going to need to use DOM_Element.getStyle() and DOM_Element.setStyle() instead.

Events work like the W3C specifies:

From the docs:

//add event listener to 'foo' div (mouseover & mouseout)
document.getElementById('foo').addEventListener('mouseover',myEventHandler);
document.getElementById('foo').addEventListener('mouseout',myEventHandler);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文