需要在webview Win 10 UWP中获取鼠标事件
我正在创建一个win 10 UWP应用程序。
我在其中添加了一个webview,我需要右键单击并拖动webview元素的drop事件。 但现在它正在为浏览器拍摄事件。 我如何处理webview中的输入事件
如何将元素从XAML拖到WebView的示例。 这不是完整的解决方案,但可能对您有所帮助。
XAML:
2
C#代码:
private async void WebViewElm_PointerReleased(object sender, PointerRoutedEventArgs e) { await WebViewElm.InvokeScriptAsync("callFromExternal", new string[] { txtZiel.Text }); } private async void WebViewElm_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args) { await WebViewElm.InvokeScriptAsync("LoadingFinished", null); }
HTML:
1
JavaScript的:
function callFromExternal(somedrag) { document.getElementById("txtClick").innerHTML = somedrag; }
您唯一需要检查的是JavaScript代码中的鼠标hover在段落元素上。
如果要检查JavaScript代码中的事件,可以将NavigationCompleted =“WebViewElm_NavigationCompleted”和ScriptNotify =“WebViewWithJSInjection_ScriptNotify”属性添加到WebView和C#事件中
private async void WebViewElm_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args) { await WebViewElm.InvokeScriptAsync("LoadingFinished", null); } private void WebViewWithJSInjection_ScriptNotify(object sender, NotifyEventArgs e) { // here in e.Value you can get string with document.getElementById("txtClick").innerHTML }
在JavaScript中添加function:
function LoadingFinished() { document.getElementById('txtClick').addEventListener("mousedown", callExternal); } function callExternal() { window.external.notify(document.getElementById("txtClick").innerHTML); }