gpt4 book ai didi

javascript - event.target 不适用于嵌套元素?

转载 作者:行者123 更新时间:2023-12-02 17:57:38 24 4
gpt4 key购买 nike

我似乎无法让 event.target 适用于嵌套在 body 元素中任何类型标记中的元素。我正在捕获 JavaScript 击键并将其更新到数组中,如下所示:

$(document).keyup(function(event) {

// Check for human
if (event.originalEvent !== undefined)
updateEvents("keyup", event.target, $(event.target).val());

});

function updateEvents(targetEvent, targetElement, targetValue)
{
if (canUpdate)
{
var index = events.length - 1;

if (events[index].targetEvent !== undefined)
{
events[index].targetEvent = targetEvent;
events[index].targetElement = targetElement;
events[index].targetValue = targetValue;
}
}
}

然后,在单击指示播放开始的按钮后,我更新文本字段以模拟实时输入:

    var count = 0;

$.each(events, function() {

window.setTimeout(action, 100 * count, count);

count++;

});

function action(index)
{
var targetEvent = events[index].targetEvent;
var targetElement = events[index].targetElement;
var targetValue = events[index].targetValue;

if (typeof targetEvent != "undefined")
{
if (targetEvent == "keyup")
{
// Simulate live typing.
$(targetElement).val(targetValue);
// Retain cursor position and user viewpoint in text fields and textareas.
var length = $(targetElement).val().length;
targetElement.setSelectionRange(length, length);
targetElement.scrollLeft = targetElement.scrollWidth;
targetElement.scrollTop = targetElement.scrollHeight;
$(targetElement).keyup();
}
}
}

action()函数中,targetValue是文本字段的实际值,targetElement是实际文本字段元素。当文本字段仅位于 body 标记中时,此代码可以很好地工作,但是将其嵌套在任何类型的标记(例如 div)中时,它根本不起作用。

最佳答案

我修好了。事实证明,我在一个调用中更改了页面的 HTML,这弄乱了我的元素 ID。

关于javascript - event.target 不适用于嵌套元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20865316/

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