苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 16977|回复: 22

[其他] extjs里的点击事件,没有反应,大侠看看是怎么回事

[复制链接]
发表于 2013-9-9 16:27:58 | 显示全部楼层 |阅读模式
grid中事件:
                        listeners:{
                                        'selectionchange':function(_this,selected,eOpts){
                                                if(selected.length > 0){
                                                        Ext.data.StoreManager.lookup('stepStore').loadData(selected[0].get('stepList'))
                                                }
                                        }
                                }
正常情况是在grid的一行上单击,右边会展示出该行的详细信息,
使用webbrowser模拟点击后,右边没有反应,大侠看看是怎么回事




demo.zip

4.77 KB, 下载次数: 177, 下载积分: 金钱 -1

extjs



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-9-9 16:41:50 | 显示全部楼层
你的这个事件直接在IE浏览器下有效吗?如果可以,应该是的取的对象不对,只要是IE下可以,在webbrowser都是可以的。
 楼主| 发表于 2013-9-9 16:49:19 | 显示全部楼层
本帖最后由 天山明月 于 2013-9-9 16:50 编辑
站长苏飞 发表于 2013-9-9 16:41
你的这个事件直接在IE浏览器下有效吗?如果可以,应该是的取的对象不对,只要是IE下可以,在webbrowser都是 ...

这个页面在ie8下可以正确使用,但是获取到grid的某一行的元素,然后执行InvokeMember("click");,但是右边的grid没有展示出详细信息。

如果在浏览器下点击的话,则正常。

grid的监听事件是下面这个:
                                listeners:{
                                        'selectionchange':function(_this,selected,eOpts){
                                                if(selected.length > 0){
                                                        Ext.data.StoreManager.lookup('stepStore').loadData(selected[0].get('stepList'))
                                                }
                                        }
                                }

是不是这个监听事件导致点击不生效?
发表于 2013-9-9 17:03:11 | 显示全部楼层
和这个没关系,应该还是你获取的对象问题,
你先确定下你获取的对象是正常的
InvokeMember("click");,就是这一句前面的对象。你调试看看,
 楼主| 发表于 2013-9-9 17:18:03 | 显示全部楼层
站长苏飞 发表于 2013-9-9 17:03
和这个没关系,应该还是你获取的对象问题,
你先确定下你获取的对象是正常的
InvokeMember("click");,就 ...

对象怎么样才是正常的,我是获取了行信息
日志如下:

2013-09-09 15:59:07,687 [1] INFO WinFormFunction.MonitorTest <btnTestJsChange_Click>b__7 0- 找到信息:郑州
2013-09-09 15:59:07,687 [1] INFO WinFormFunction.MonitorTest <btnTestJsChange_Click>b__7 0- Begin to click tr:415郑州2013-09-08 23:59:592013-09-09 23:59:590%未运行
2013-09-09 15:59:18,765 [1] INFO WinFormFunction.MonitorTest <btnTestJsChange_Click>b__7 0- The click operation is over


相关代码如下:
                                                logger.InfoFormat("Begin to click tr:{0}", heTr.OuterText);
                                                MessageBox.Show("Begin to click tr");                                               
                                                heTr.InvokeMember("click");
                                                //heTr.GetElementsByTagName("td")[0].InvokeMember("click");//点击td也没有效果
                                                Thread.Sleep(10000);
                                                logger.InfoFormat("The click operation is over");


HTML源码:
[code=html]<TR class="x-grid-row   x-grid-row-alt" viewIndex="15" viewRecordId="400" boundView="gridview-1026" _nodup="30804">
<TD class=" x-grid-cell x-grid-cell-gridcolumn-1017   x-grid-cell-first">
<DIV style="TEXT-ALIGN: left" class="x-grid-cell-inner x-unselectable" unselectable="on">400</DIV></TD>
<TD class=" x-grid-cell x-grid-cell-gridcolumn-1018   ">
<DIV style="TEXT-ALIGN: left" class="x-grid-cell-inner x-unselectable" unselectable="on">郑州</DIV></TD>
<TD class=" x-grid-cell x-grid-cell-gridcolumn-1019   ">
<DIV style="TEXT-ALIGN: left" class="x-grid-cell-inner x-unselectable" unselectable="on">2013-09-08 23:59:59</DIV></TD>
<TD class=" x-grid-cell x-grid-cell-gridcolumn-1020   ">
<DIV style="TEXT-ALIGN: left" class="x-grid-cell-inner x-unselectable" unselectable="on">2013-09-09 23:59:59</DIV></TD>
<TD class=" x-grid-cell x-grid-cell-gridcolumn-1021   ">
<DIV style="TEXT-ALIGN: left" class="x-grid-cell-inner x-unselectable" unselectable="on">
<DIV style="BORDER-BOTTOM: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; WIDTH: 100%; BACKGROUND: #eee; HEIGHT: 20px; BORDER-TOP: #ddd 1px solid; BORDER-RIGHT: #ddd 1px solid">0%</DIV></DIV></TD>
<TD class=" x-grid-cell x-grid-cell-gridcolumn-1022   ">
<DIV style="TEXT-ALIGN: left" class="x-grid-cell-inner x-unselectable" unselectable="on"><SPAN>未运行</SPAN></DIV></TD>
<TD class=" x-grid-cell x-grid-cell-templatecolumn-1023   x-grid-cell-last">
<DIV style="TEXT-ALIGN: left" class="x-grid-cell-inner x-unselectable" unselectable="on">
<DIV style="TEXT-ALIGN: center" id=job400><IMG border=0 src="http://10.96.18.106:8080/jms/common/image/url-logo2.png"></DIV></DIV></TD></TR>[/code]


发表于 2013-9-9 17:29:19 | 显示全部楼层
你在浏览器单击的那里,就获取那个标签进行单击,你这获取到的太多了吧,那有单击事件一下子这么多代码的。
 楼主| 发表于 2013-9-9 17:45:24 | 显示全部楼层
站长苏飞 发表于 2013-9-9 17:29
你在浏览器单击的那里,就获取那个标签进行单击,你这获取到的太多了吧,那有单击事件一下子这么多代码的 ...

试了下
  1. heTr.FirstChild.FirstChild.InvokeMember("click");
复制代码
也没有反应。。。

发表于 2013-9-9 18:07:19 | 显示全部楼层
问题怎么变成解决了,你解决了?

你源码里是全部的吧
 楼主| 发表于 2013-9-9 18:21:52 | 显示全部楼层
站长苏飞 发表于 2013-9-9 18:07
问题怎么变成解决了,你解决了?

你源码里是全部的吧

没。看到有个“已解决”的红字,就随手点了下。
源码是前台的代码,生成json数据源的代码也没有。
发表于 2013-9-9 19:17:24 | 显示全部楼层
你给个网址,告诉我要单击那个,出现什么效果给个图片,我帮你写个得了,
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-28 10:36

© 2014-2021

快速回复 返回顶部 返回列表