【问题标题】:Rapid Web UI Development快速 Web UI 开发
【发布时间】:2010-10-23 13:41:12
【问题描述】:

我目前正在开发一个网络应用程序,它将取代某些办公室的旧系统。 (非常古老,就像在 FoxPro 中一样)

我目前的任务是开发一个非常类似于桌面的快速 UI,意思是,尽量不使用鼠标,这样他们就可以相当快速地捕获数据,而且几乎不用看就可以做到。

他们期望这样的事情:

使用箭头键导航,填写完当前字段后跳转到下一个字段,在一个字段上按 Enter,然后出现一个包含数据的列表供他们选择(使用箭头键再次导航)等.

我可以很容易地用 javascript 完成这项工作,但是由于完成这个项目的时间非常短,所以我被要求帮助这个项目,

哪些库、控件或类似工具可以帮助我快速完成这项工作?

【问题讨论】:

  • 请考虑将您的问题精简为更具体/更简洁

标签: asp.net javascript user-interface


【解决方案1】:

使用 JQuery...忘记跨浏览器 DOM 处理。 JQuery 在 VS.Net 中有很好的支持。

【讨论】:

    【解决方案2】:

    为了帮助您节省一些时间,这里是“按下回车键时的下一个字段”的代码:(您需要 JQuery)

    $.fn.focusNextInputField = function() {
        return this.each(function() {
           var fields = $(this).parents('form:eq(0),body').find('button,input,textarea,select');
           var index = fields.index(this);
           if (index > -1 && (index + 1) < fields.length) {
              this.blur();
              fields.eq(index + 1).focus();
           }
           return false;
        });
    };
    
    
    $("button,input,textarea,select").keydown(function(event) {
        switch (event.keyCode) {
            case 13: $(this).focusNextInputField();
                break;
        }
    });
    

    【讨论】:

      【解决方案3】:

      您没有提到您需要的浏览器支持类型。这个网络应用听起来需要捕捉和处理相当多的键盘事件。

      不同的浏览器处理事件的方式不同。因此,您需要牢记这一点。

      是的,滚动您自己的密钥处理 Javascript 相对简单,但使用免费的公共框架(如 JQuery、Prototype 或 Dojo)肯定更好。与其建议一个而不是另一个(SO 社区似乎对 JQuery 有一个特殊的软角,相信我!),我会说,检查它们并自己决定。

      您可能还想研究提供您需要的应​​用程序功能的预构建(商业或其他)自定义控件。例如,如果您需要电子表格类型的数据输入界面,则可以在网络上使用许多控件。

      【讨论】:

      • Firefox 和 IE,也许我什至可以将 Firefox 排除在外。 (我不喜欢,但是使用这个软件的人不会理解。)我会用jQuery,我也喜欢那个框架。
      【解决方案4】:

      你熟悉 ExtJS (http://extjs.com/)吗?

      我认为这是一个真正的 Web 应用程序框架。 JQuery 更像是一个具有很多(非常好的)功能的“库”。

      【讨论】:

        【解决方案5】:

        我推荐 Dojo——我意识到它不像 JQuery 那样受欢迎(Google 上的点击数:dojo 1300 万,jquery 13.4)——但它的架构和设计更好!

        【讨论】:

        • Alex 确实说过,因为它是“更好的架构和设计”! :P
        • 为什么?它可能会更快一些(以 slickspeed 为基准),但在 IE8 中它并没有真正起作用。 slickspeed (1.1.1) 使用的版本只在 IE8 上抛出错误。当前版本在 IE8 中仍然存在一些错误。 JQuery 工作正常。
        【解决方案6】:

        许多旧的 FoxPro 应用程序都针对用户的工作效率进行了优化。我认为我已经很长时间没有看到“用户生产力”被用作软件工具评估参数了。尤其不适用于基于浏览器的应用程序。

        首先,您需要一些测量方法。每分钟击键次数和每分钟处理的表单曾经是很常见的方法。但是将 AJAX 投入其中会减慢速度 - javascript 在这一点上还不是一种高速执行语言。即使是镀铬。

        您最好的选择可能是 flex 和 silverlight。

        【讨论】:

        • 不像它是一个度量,用户应该觉得应用程序不会减慢他们的速度。而已。并且经常使用鼠标肯定会让他们不想使用该应用程序。
        • 老鼠确实如此。这就是我写我所做的事情的原因。 Silverlight 和 Flex 都具有出色的击键处理能力,比浏览器更好、更一致,而且它们的运行速度也比 javascript 快很多。
        【解决方案7】:

        教他们如何使用 tab 和 shift-tab 返回。 Enter 用于“输入”信息,而不是“下一步”。只要真正了解表单中的标签索引,它就应该为您的用户流畅地流动

        为他们带来一个将他们带到现在的界面,而不是陪审团操纵一个系统,将所有这些可怕的 DOS 和基于文本的系统的约定变成一个基于 Web 的系统。

        【讨论】:

        • 这与不在 IE6 上测试您的网站并告诉用户将他们的浏览器更新到现在是一样的。您根本不能仅仅因为他们习惯了旧的东西就告诉用户改变他们的行为.
        猜你喜欢
        • 1970-01-01
        • 2019-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        相关资源
        最近更新 更多