-2

我继承了别人的项目,并正在为它构建一个工作流程图。没有过多的细节,离开的人是网络部门中唯一具有高级编程技能的人(那里的大多数人都从事生产工作和一些 HTML/CSS 的东西)。我继承的项目是在 CodeIgniter 中开发的,并且严重依赖于 JQuery、AJAX 和 JSON。流程有点混乱,因此我对其进行了概述。(我正在回答这个问题,请耐心等待)

反正这个部门的经理,姑且称他为工具,是不会让他的人学这些东西的。前几天他问我它是怎么来的,我说很好,除了我找不到设置一个变量的位置,原始开发人员使用 jquery 调用一些表单值来设置文件路径(他使用#id. val()) 但我在代码中的任何地方都找不到#id。经理回复,嗯,我还以为你是PHP大师呢。正如我所说,我们将他称为工具。

无论如何,为了让他有点坚持,我决定与他小组中的人分享这些流程页面,让它们非常具有描述性并希望具有教育意义。我正在解释当从选择菜单 jquery/javascript 进行更改时如何识别该更改并触发 JS 中的相关代码。

然后我恍然大悟,我真的不知道 JS/JQ 是如何知道已经做出改变的。我知道代码 ($("#id").change()...我有 AppleScript 背景,在那种语言中有一个空闲命令,你基本上可以让脚本坐在后台观察并等待 X 发生(假设用户启动 Photoshop),当该事件发生时,其余代码将运行。JS 会做类似的事情吗?

4

2 回答 2

1

这段代码:

$("#id").change()

告诉 jQuery(“$”)找到“id”值为(在本例中)为“id”的元素,然后在该元素上触发“更改”事件。这将导致注册的事件处理程序在要运行的元素上查找此类事件。这几乎是您在浏览器中使用 JavaScript 所做的一切的基础:对事件的响应。

在某个地方,可能有以下之一:

$("#id").change(function() { ... })

$("#id").live('change', function() { ... })

$("#id").bind('change', function() { ... })

但是,有许多方法可以识别元素以设置事件处理程序,因此可能很难找到。

于 2011-03-16T12:57:53.593 回答
0

在较新版本的 chrome 中,您可以检查 html 元素,这还将显示绑定到它的“经典”事件。

越来越多的优秀开发人员正在转向事件代表,例如:http: //developer.yahoo.com/yui/3/event/#delegate

这可能不会出现在 Chrome 中,但应该可以从代码中读取。

于 2011-03-17T12:22:51.697 回答