Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 右键单击弹出菜单“慢速”_Javascript_Jquery_Dom_Jquery Selectors_Dom Traversal - Fatal编程技术网

Javascript 右键单击弹出菜单“慢速”

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

我在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 ;
    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>