gpt4 book ai didi

javascript - 焦点不适用于由 javascript onclick 事件触发的文本区域

转载 作者:行者123 更新时间:2023-11-30 12:21:00 25 4
gpt4 key购买 nike

我有一个简单的过渡,其中一条消息说“单击此处键入”,这是一个 div,单击该 div 时隐藏此 div 并显示带有闪烁光标的文本区域。当页面最初加载时,我通过 onload 获得焦点,但我在之后,在需要时触发焦点。

所以我有这样的东西:

界面

<div id="message" onclick="showPad();"><span class="message">Click to write</span></div>
<form name="entry">
<textarea id="writingpad" name="writingpad" placeholder="write here"></textarea>
</form>

javascript

<script>
function showPad() {
document.getElementById('message').style.display = "none";
document.getElementById('writingpad').style.display = "inline-block";

// this is what I've tried for focus

document.entry.writingpad.focus(); // didn't work
$('#writingpad').live('focus', function() {
// document.entry.input.focus(); possibly redundant
}
$('#writingpad').focus(); // doesn't work
}
</script>

工作脚本

function showPad() {
$('#writingpad').focus();
}

最佳答案

脚本中的焦点有效,问题在于加载。

而不是使用 onLoad和现场事件委托(delegate),您可以确保将脚本放在 <head> 中或 <body> .

也不需要 jQuery - 纯 JS:

var message  = document.getElementById('message');
var textarea = document.getElementById("writingpad");

function showPad() {
message.style.display = "none";
textarea.style.display = "inline-block";
textarea.focus();
}

Demo

关于javascript - 焦点不适用于由 javascript onclick 事件触发的文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31098058/

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