This topic created in 3941 days ago, the information mentioned may be changed or developed.
我学 php 的, 现在打算做一个网站, 不如说页面上有一个按钮, 点击就出现一个输入框, 可以留言. 其中发送表单和显示最新的留言可用 ajax 实现.
那么点击一个按钮出现一个输入框, 这个功能是否是用 Js 给按钮绑定一个事件, 插入一个 dom 这样的方式实现的呢?
这是比较合理的方法吗? 假如页面上的互动元素很多是否需要分别给绑定事件呢?
我不太了解对于实际的比较成熟的项目, 前端页面是如何做的.
7 replies • 2015-10-08 17:29:36 +08:00
 |
|
1
sneezry Oct 6, 2015 1
这个其实用 CSS 就可以实现的,如果用 JS 的话通常是改 display ,隐藏就是 none ,显示就是 block 。
|
 |
|
3
will0404 Oct 7, 2015 1
第一个问题:是。当然也可以有别的办法。 第二个问题:合理,对于只有一个或者很少数的按钮需要绑定的话就这样就行,当然也可以像一楼说的那样,预先写好这段 html 隐藏,用 js 控制显示和隐藏就好了,不需要插入删除 dom ,比较普遍的做法是后者。 第三个问题:很多元素与这个弹出框互动,那你可能需要了解 javascript 事件委托,如果你用 jquery ,看看 delegate 的 API 也许有用。我还可以说出很多实现的方法,取决于你的前端有没有用框架,用什么样的框架了,但万变不离事件委托。
|
 |
|
4
chairuosen Oct 7, 2015 1
简单的 DOM 操作用 jQuery 或者原生 js 自己做。 复杂的 DOM 操作用 MVVM 框架做
|
 |
|
5
sensui7 Oct 7, 2015
具体的这样的, 比如每一条留言都附带一个评论按钮, 所以无法预先设置一个隐藏的 dom, 就像 v2 的引用按钮, 点击任意一个留言的评论按钮,在下方出现一个评论框.
|
 |
|
6
will0404 Oct 7, 2015 1
@ sensui7 看你的问题估计你还没接触 angular 类似的框架 这样的 dom 操作 就用 js 写事件委托
|