gpt4 book ai didi

javascript - 跨浏览器等效于 explicitOriginalTarget 事件参数

转载 作者:可可西里 更新时间:2023-11-01 01:17:58 25 4
gpt4 key购买 nike

有谁知道 explicitOriginalTarget 事件参数的跨浏览器等效项?此参数是特定于 Mozilla 的,它为我提供了导致模糊的元素。假设我的页面上有一个文本输入和一个链接。文本输入有焦点。如果我单击链接,文本输入的模糊事件会通过 explicitOriginalTarget 参数为我提供 Firefox 中的链接元素。

我正在扩展 Autocompleter.Base 的 onBlur 方法,以便在搜索字段失去给定元素的焦点时不隐藏搜索结果。默认情况下,如果搜索字段失去对任何元素的焦点,onBlur 方法将隐藏。

Autocompleter.Base.prototype.onBlur = Autocompleter.Base.prototype.onBlur.wrap(
function(origfunc, ev) {
var newTargetElement = (ev.explicitOriginalTarget.nodeType == 3 ? ev.explicitOriginalTarget.parentNode: ev.explicitOriginalTarget); // FIX: This works only in firefox because of event's explicitOriginalTarget property
var callOriginalFunction = true;
for (i = 0; i < obj.options.validEventElements.length; i++) {
if ($(obj.options.validEventElements[i])) {
if (newTargetElement.descendantOf($(obj.options.validEventElements[i])) == true || newTargetElement == $(obj.options.validEventElements[i])) {
callOriginalFunction = false;
break;
}
}
}
if (callOriginalFunction) {
return origFunc(ev);
}
}
);


new Ajax.Autocompleter("search-field", "search-results", 'getresults.php', { validEventElements: ['search-field','result-count'] });

谢谢。

最佳答案

除基于 Gecko 的浏览器外,在任何其他浏览器中都没有等同于 explicitOriginalTarget 的对象。在 Gecko 中,这是一个内部属性,不应由应用程序开发人员(可能由 XBL 绑定(bind)编写器)使用。

关于javascript - 跨浏览器等效于 explicitOriginalTarget 事件参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/179826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com