右键单击弹出菜单慢
Posted
技术标签:
【中文标题】右键单击弹出菜单慢【英文标题】:Right Click Popup Menu Slow 【发布时间】:2013-04-04 13:40:53 【问题描述】:我在我的 KendoUI Grid 上实现了一个右键弹出菜单。
问题是,它很慢。
当您右键单击时,脚本需要获取被单击行的 ID。我正在这样做:
salesGrid.on('mouseup', '[role="row"]', function(e)
button = e.which ;
if(button == 3)
$(this).bind("contextmenu",function(e)
return false
);
var id = null ;
id = $('td', this).find('.id-span').data('id') // ~500ms
我也试过了:
id = $(this).children('td').children('.id-span').data('id') ;
还有:
id = $('td:first span', this).data('id') ;
所有这些都需要大约 500 毫秒的时间来执行,这在用户体验方面太长了。
这是它正在遍历的表:
<tr data-uid="16e14dc2-a2fa-4979-a1ff-cd5113223aa6" role="row">
<td role="gridcell"><span class="id-span" data-id="1">A</span></td>
<td role="gridcell">3</td>
<td role="gridcell">Lenze</td>
<td role="gridcell"><span class="popoverintel" data-trigger="hover" data-placement="bottom" data-part-id="1">33.8202-E</span></td>
<td role="gridcell">Supply</td>
<td role="gridcell">New</td>
<td role="gridcell">3</td>
<td role="gridcell">€</td>
<td role="gridcell">575.00</td>
<td role="gridcell">1725.00</td>
</tr>
有没有办法让它更快?
【问题讨论】:
这里的this
是什么,是表格、行、单元格还是单元格内的内容
试试$('.id-span', $(this).closest('tr')).data('id')
@Arun P Johny 我已经添加了上下文。
$(this).children().first().children().first().data("id")
怎么样?
$('.id-span', $(this).closest('tr')).data('id') 速度一样 :(
【参考方案1】:
尝试将选择器 '[role="row"]'
更改为 'tr[role="row"]'
【讨论】:
以上是关于右键单击弹出菜单慢的主要内容,如果未能解决你的问题,请参考以下文章
右键单击列表视图以显示 contextmenustrip,但弹出菜单出现在屏幕的不相关点