站点导航捕获事件并触发正确的操作

时间:2012-02-23 00:31:34

标签: javascript jquery web-applications

我之前已经涉及jQuery和javascript(我担心的是那个顺序),但总是非常简单的东西,比如滑动元素,添加/删除类等。

我之前没有处理过事件和对象 现在我有一个已经完成工作的内部网“应用程序”,它正好按照我的方式进行编程。即大量(如果不是全部)全局函数和变量来显示/隐藏&通常控制页面元素。所有这些都是在没有鼠标的情况下控制的,仅通过按键控制 看到这一点(并在此过程中略显害怕)我得到了一份“面向对象的JavaScript ”的副本,由 Stoyan Stefanov ......

我现在的问题是我明白我需要处理对象,原型和事件...... 我想 - 我自己理解这些概念,但完全不知道如何开始。

我遇到的另一个问题是,相同的键应触发不同的操作,具体取决于可见或活动元素。向上/向右/向下/向左应该控制菜单但是当加载内容(到达菜单结束)时,相同的键必须触发完全不同的事物。我想我需要在这里使用事件命名空间,对吧?

由于触发事件的鼠标不是我必须在非常高的级别捕获它们,并根据活动和可见元素确定必须执行的操作。因为我真的不知道event.target哪个元素触发了事件

 for example: if menu1 is visible and "right" was pressed
              either open sub-menu or load content.

我做了几次尝试,但无法摆脱让一切都停留在全球:

jQuery('body').on('ok.menu.rc right.menu.rc',function(e){
    var cur = jQuery('nav.active a.active').removeClass('active').addClass('selected');
    jQuery('nav.active a:not(.selected)').addClass('disabled').parent().removeClass('active');
    //cur.parent().removeClass('active');
    get_entry(cur.attr('data-name')+'-');
    //jQuery('body').off('.menu'); // testing namespaces
    jQuery('#menu1wrap nav').removeAttr('class').addClass('active');
});

仍然没有任何类型的重用能力。它可能看起来不像,但我做了几次(至少有两次不同的)尝试,但很快就变得沮丧 特别是在尝试将所有东西都放入物体时。我不知道如何将html元素与javascript对象的实例链接起来。

你将如何接受这种野兽?

0 个答案:

没有答案