简单的原型事件问题

时间:2011-06-20 03:50:57

标签: javascript prototypejs

我刚学习Prototype而且我很难找到好的文档/教程,我认为这个问题应该很容易做到,但我无法让它工作。我希望在div上有悬停效果直到它被点击,然后在点击之后我希望它具有正常的行为。这就是我到目前为止所做的:

document.observe("dom:loaded", function() {
        $("evtTarget").observe("mouseover", highlight);
        $("evtTarget").observe("mouseout", highlight);

        $("evtTarget").observe("click", function(evt) {
            $("evtTarget").stopObserving("mouseover", highlight);
            $("evtTarget").stopObserving("mouseout", highlight);
        });


    });

    function highlight(evt) {
        $("evtTarget").toggleClassName("highlighted");        
    }

当我使用这段代码时,我的div没有突出显示,但我无法弄清楚我做错了什么。任何帮助或建议将不胜感激!!!

谢谢!

编辑:这是我的jsfiddle版本: http://jsfiddle.net/jaFuP/1/

1 个答案:

答案 0 :(得分:0)

Works just fine for me.问题可能出在其他地方。

  • 页面中是否有ID为evtTarget的元素?
  • 您是否记得在页面中包含Prototype(例如
    <script src="path/to/prototype.js></script>)?
  • 控制台中是否存在可能阻止JavaScript完全执行的错误?
  • 您是否确实定义了一个CSS highlighted类,其中的样式不同于ID为evtTarget的元素已有的样式?