单击/触摸WebView android中的项目时获取元素ID

时间:2019-06-04 03:35:20

标签: android webview

我有一个Web视图,其中正在加载url。加载完成后,基本上会加载项目列表。如果我们单击任何项​​目,它将仅突出显示所选项目,而不进行导航。所以我想要的是当我们单击任何项​​目时,我需要所选项目的“ id”。

这是单个项目的html-

// FirstItem

<div id="mainDiv1">
       <div id="div1" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />  
  </div>
  <div id="div2" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />
  </div>
  <div id="div3" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />
  </div>

</div>

//第二项

 <div id="mainDiv2">
  <div id="div1" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />  
  </div>
  <div id="div2" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />
  </div>
  <div id="div3" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />
  </div>

</div>

//第3项

 <div id="mainDiv3">
  <div id="div1" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />  
  </div>
  <div id="div2" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />
  </div>
  <div id="div3" >
    <input type="text" id="edit1" />
    <input type="text" id="edit2" />
  </div>

</div>this.webview.evaluateJavascript("javascript:$(document.body).click(function(e 
vt){var clicked = evt.target;var currentID = 
clicked.id;$(clicked).html(currentID);})",new JavaScriptResult(() => { }));"

这里的javascriptresult是回调,而我正在捕捉的值在这里-

 public void OnReceiveValue(Java.Lang.Object value)
 {
     this.onExecutionFinished();
 }

每当我们单击第二项中的任意位置时,我想要的是一个适当的javascript以获取id“ mainDiv2”。似乎我用EvaluateJavascript编写的javascript无法正常工作,值始终为null

note-每个mainDiv中已经存在的所有事件(例如click,鼠标悬停等)

0 个答案:

没有答案