将侦听器添加到标签

时间:2013-05-03 08:19:04

标签: jquery

我正在将excel应用程序转换为单个网页应用程序。由于我希望用户感到熟悉,因此我希望在用户更改输入时实时更新所有内容,就像在Excel中一样。它工作得很好,但由于不同的输出标签依赖于彼此,它开始变得混乱。

当用户在文本框中输入输入时,我是否可以为标签添加列表器而不是为标签设置值?

2 个答案:

答案 0 :(得分:0)

正如我在评论中所说的那样......我不鼓励你这样做,但如果你有少量元素要改变,那么.change()就是你可以用来实现你的功能需要。

您可以在此网站上看到一个有效的示例: jQuery change() example

答案 1 :(得分:0)

好的,可以扩展我对原始问题的评论。虽然,你问的最有可能是jQuery。像电子表格这样复杂的东西需要广泛的jQuery引用和连接代码,如果不是完全的话,加班几乎是不可持续的。

但是,要回答您的问题,您可能希望最有可能绑定到相关输入的onChange事件。这将允许您在整个UI中获得几乎即时更新。这样的事情可以很容易地做到这一点:

$("#InputInQuestion").on("change", function(e) { //Do Something } );

这种方法最终将导致一些非常难以阅读和难以维护的代码,因为您在此类应用程序中取得了进展。试想一下,在电子表格样式的应用程序中为每个单独的事件编写这种功能,你可能会明白为什么你应该远离这种方法。

有许多可行的框架使你所要求的几乎是微不足道的,关键词几乎是。

例如,Knockout.js附带了一个映射插件,可以让您将服务器数据动态映射到html中的对象。所有这些对象都将在应用程序的整个生命周期内动态设置。我的意思是,当你的一个单元格中的值发生变化时,你会得到所需的效果,让其余的ui发生变化以反映这一点,而不必编写大量的连接编码。

他们的网站http://knockoutjs.com/有一些关于如何入门的精彩教程。

AngularJS也是一个令人惊叹的实用程序,用于制作健壮且响应迅速的用户界面,您可以在此处查看:http://angularjs.org/

Backbone.js与上面的内容非常相似,可以在这里找到:http://backbonejs.org/