我一直在尝试触发一个限制我执行点击的触摸事件,因为该功能是为智能手机准备的。
这是我需要使用 GeckoFX 在点击事件上调用的函数。
$('#next_button,#bottom_next_button,#next_arrow,.image_inner_a').on('touchstart', function(e) {
if (e.touches && e.touches[0].pageX > 5) {
this.href = this.href.replace(/[&?]z=[^&]*/, '');
valid_user = true;
}
});
到目前为止我所拥有的内容写在下面。
GeckoElement clickedElement = e.Target.CastToGeckoElement();
if (xpathvalue != null) {
GeckoHtmlElement element = (GeckoHtmlElement)browser.Document.GetSingleElement(xpathvalue);
if (element != null)
{
element.Click();
}
}
If there is way to use JavaScript for calling the touch event, it would be accepted too.
最佳答案
您可以调度自定义类型的事件。 在此处查看事件文档 https://developer.mozilla.org/en-US/docs/Web/API/Touch_events
然后初始化事件:
nsAStringBase eventType = new nsAString(eventName.ToLower());
DomEventArgs ev = browser.Document.CreateEvent(eventTypeName);
ev.DomEvent.InitEvent(eventType, true, false);
然后尝试在适当的元素上分派(dispatch)事件
element.DispatchEvent(ev);
关于javascript - 如何使用 C# 在 GeckoFX 中点击鼠标触发触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42704770/