Javascript 右键单击弹出菜单“慢速”
我在KendoUI网格上实现了一个右键单击弹出菜单 问题是,速度太慢了 右键单击时,脚本需要获取被单击行的id。我是这样做的:Javascript 右键单击弹出菜单“慢速”,javascript,jquery,dom,jquery-selectors,dom-traversal,Javascript,Jquery,Dom,Jquery Selectors,Dom Traversal,我在KendoUI网格上实现了一个右键单击弹出菜单 问题是,速度太慢了 右键单击时,脚本需要获取被单击行的id。我是这样做的: salesGrid.on('mouseup', '[role="row"]', function(e){ button = e.which ; if(button == 3) { $(this).bind("contextmenu",function(e){ return false }); var id = null
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') ;
以及:
所有这些都需要大约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>
A.
3.
伦塞
33.8202-E
供给
新的
3.
€
575
1725
有什么方法可以加快速度吗?试着用
'tr[role=“row”]
更改选择器'[role=“row”]这个是什么在这个上下文中,是表、行、单元格还是单元格中的内容尝试类似于$('.id span',$(this.closest('tr'))。data('id'))
@Arun P Johny我已经添加了上下文。$(this.children().first().children().first().data(“id”)
?$('.id span',$(this.closest('tr'))。数据('id')的速度相同:(
<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>