javascript - Media Wiki 页面中的 jQuery(不仅仅在 Monobook.js 或扩展中)

标签 javascript jquery html mediawiki

我正在尝试从 MediaWiki 内容页面“动态”地执行一些简单的 jQuery 操作。它实际上只是为了“美化”一些不同的功能。

我已完成以下操作: http://www.mediawiki.org/wiki/JQuery http://www.mediawiki.org/wiki/Manual:$wgRawHtml (最初主要用于 Paypal 按钮)

下面的代码不起作用。这被放置在空白内容页中。

<html>
<script>
$j(document).ready(function(){
    $j('#test').hover(
        function(){
            $j('#test').attr('background-color','red');
        }, 
        function(){ 
            $j('#test').removeAttr('background-color');
        }
    );
});
</script>
<div id="test">Howdy</div>
</html>

什么也没发生...

有什么想法吗?

更新:

我尝试了这个简单的解决方案,但没有结果。

example.com/wiki/index.php?title=MediaWiki:Common.js

$j('#jTest-Howdy').hover(
        function(){
            $j('#jTest-Howdy').addClass('jTest-red');
        }, 
        function(){ 
            $j('#jTest-Howdy').removeClass('jTest-red');
        }
);


example.com/wiki/index.php?title=MediaWiki:Common.css

.jTest-red { background-color: red; }


example.com/wiki/index.php?title=jQueryTest

<html>
<div id="jTest-Howdy">Howdy</div>
</html>

正如你在这里看到的,如果 jQuery 被正确加载,这段代码应该可以工作... http://jsfiddle.net/5qFhv/

但它对我不起作用......有什么帮助吗?

最佳答案

如果您使用的是由 MediaWiki 1.17 加载的 jQuery,请注意大多数 JavaScript 是在页面内容之后加载的。内联 <script> 元素在到达时立即执行,因此此时不会定义 $j ——您可能会在 JavaScript 错误控制台中看到一些与此相关的错误。

(顺便说一句,我不确定 1.16 中包含的 jQuery;据我所知,在此之前的 MediaWiki 版本不包含 jQuery。)

通常,您想要在这里做的是将 JavaScript 代码模块放入“MediaWiki:Common.js”页面并让它连接到您的 HTML 标记,或者创建一个 MediaWiki 扩展 - 然后您可以从中调用它您的页面,它可以让您创建您喜欢的任何有趣的 HTML 和 JavaScript 输出。

您放入“MediaWiki:Common.js”页面的代码将在其他 UI 初始化后加载,确保代码和变量存在,以便您可以调用 jQuery 等。

关于javascript - Media Wiki 页面中的 jQuery(不仅仅在 Monobook.js 或扩展中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5465622/

相关文章:

javascript - 录制音频..切断

html - 使用 CSS 在表格内制作边框

javascript - Node JS 验收测试的开发 API

javascript - 如何设置使用 jQuery 变量指定的 DIV 文本?

jquery - jQuery 中的 If-then 语句

javascript - IE 和 Chrome 中选择选项的边距不起作用

html - 表格对齐

javascript - 如何对服务器进行 JavaScript 同步调用?

javascript - 如何随机生成一个介于 -0.5 和 0.5 之间的数字?

没有选择 child 的javascript addEventListener