ASP.NET下使用jQuery UI下的Dialog,服务器端按钮无响应的问题。
16lz
2021-01-22
JQuery下的UI控件似乎是有问题的,某天我从凌晨两点调试一个JQuery Dialog,一直到早上8:00都没有调试出来。当时我在Dialog里面放置了一个服务器按钮,并让按钮和CodeBehind里的一个事件处理函数绑定,但是奇怪的是怎么点击按钮,都不响应后面的事件函数,整得我直抓狂。
天亮后,Google了一下,终于找到原因:JQuery会把Dialog的元素append到Body里面,而不是form里面,狂汗。几百万使用JQuery UI的人被涮了一把,过于信任JQuery UI团队了。
我找到了3种解决方法:
第1种方法:
使用代码:$("#dialog").parent().appendTo("/html/body/form[0]");
第2种方法:
加入一个<div id="dialog_target"></div>这样的DIV,然后把Dialog写入这个DIV里面。
$("#dialog").parent().appendTo("#dialog_target");
第3种方法:
1、修改Dialog的JS代码,把代码添加到form中,而不是body里面
2、Dialog内部的自定义HTML不使用,而直接加入一个IFRAME,把里面的HTML移到另外的页面中,再与父页面进行交互就OK(我使用的就是这种方法,这样这些独立出来的代码还可以复用
我使用的是第2种方法,服务器事件可以响应,效果也不错。
http://douyunliang.blog.sohu.com/129047116.html
更多相关文章
- 用jquery 绑定一个按钮click事件后,第一次点击后,一切正常,第二次点
- jquery 生成table表格 部分代码
- 使用jquery的$ .ajax来获取node.js脚本的输出,而不是它的代码
- JQuery 表单验证按钮提交之前变色
- 使用jquery实现点击按钮弹出层和点击空白处隐藏层
- jquerymobile phonegap back按钮获取先前状态
- 9.1.4 前端 - HTML body标签 - 标题,段落,分割线,换行,特殊符号,列
- Jquery中的事件处理(自动触发事件,禁用按钮,悬停,失焦,滑动效果)
- 你能告诉为什么javascript函数没有在profile.php的提交按钮中执