1

我想mouseDown处理WebView. 我对 进行了子类化WebView,实现了mouseDown,然后我才知道mouseDown被重定向到了WebHTMLView

我已经通过以下链接。

mouseDown:不在 WebView 子类中触发

从上面的链接我知道,我们可以将 mouseDownEvent 重定向到 Objective-C,但我没有找到任何解决方案。我可以有任何指针或示例 javascript 来实现相同的。

我在子类中尝试了 hitTest 方法webview

- (NSView*)hitTest:(NSPoint)aPoint

上述方法是否可以识别mouseDown?

4

2 回答 2

1

您可以使用 onTouchStart 事件进行相同的操作。请参阅此链接以在 iphone 上绑定事件

或使用这个: -

$('button').bind( "touchstart", function(){alert('hey'} );

touchstart 相当于 mouseDown

另一种解决方案是将元素的光标设置为指针,它与 jQuery live 和 click 事件一起使用。在 CSS 中设置它。(光标:指针)

在 JavaScript 中,您可以使用:-

node.ontouchmove = function(e){
  if(e.touches.length == 1){ // Only deal with one finger
    var touch = e.touches[0]; // Get the information for finger #1
    var node = touch.target; // Find the node the drag started from
    node.style.position = "absolute";
    node.style.left = touch.pageX + "px";
    node.style.top = touch.pageY + "px";
  }
}

或者

document.addEventListener('touchstart', function(event) {
    alert(event.touches.length);
}, false);

有关更多详细信息,请参阅javascript iPhone 事件

对于 Mac OSx,请参阅链接

于 2012-05-14T08:09:07.407 回答
0

我使用以下 HTML 和 JavaScript 来捕获 mouseEvents 并在WebView.

 <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
    <script type="text/javascript">
    function SetValues()
    {
        var s = 'X=' + window.event.clientX +  ' Y=' + window.event.clientY ;
        document.getElementById('divCoord').innerText = s;

    }  
</script>
</head>
<body id="bodyTag" onclick=SetValues()>
<div id="divCoord"></div>
</body>
</html>
于 2012-05-19T06:32:13.693 回答