我在this question上看到我可以禁用右键单击和选择,但这对表单元素和导航发送DOM事件没有帮助.
解决方法 您可以继承NSWindow并将您的子类设置为WebVIEw的窗口.然后,您可以通过检测鼠标事件影响的控件类型来控制将哪些事件发送到WebVIEw.这是非常强大的力量,但将完全禁用任何鼠标事件,包括翻转等:
@interface WebVIEwEventKillingWindow : NSWindow { IBOutlet WebVIEw* myWebVIEw;}@end@implementation WebVIEwEventKillingWindow- (voID)sendEvent:(NSEvent*)event{ NSVIEw* hitVIEw; switch([event type]) { case NSScrollWheel: case NSleftMouseDown: case NSleftMouseUp: case NSleftMouseDragged: case NSMouseMoved: case NSRightmouseDown: case NSRightmouseUp: case NSRightmouseDragged: hitVIEw = [myWebVIEw hitTest:[event locationInWindow]]; if([hitVIEw isDescendantOf:myWebVIEw] && !([hitVIEw isKindOfClass:[NSScroller class]] || [hitVIEw isKindOfClass:[NSScrollVIEw class]])) { return; } break; default: break; } [super sendEvent:event];}@end总结
以上是内存溢出为你收集整理的cocoa – 禁用WebKit WebView全部内容,希望文章能够帮你解决cocoa – 禁用WebKit WebView所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)