单击文本框时会触发哪个 javascript 事件?

Posted

技术标签:

【中文标题】单击文本框时会触发哪个 javascript 事件?【英文标题】:Which javascript event is triggered when a textbox is clicked? 【发布时间】:2019-10-28 18:09:25 【问题描述】:

我需要找到在单击 textarea 时在移动设备上弹出键盘的触发事件,以便我可以使用该 textarea 中的信息填充我创建的 textarea 弹出窗口。我还需要将我创建的文本区域附加到移动键盘上。

编辑

我正在创建我们网站的移动版本。现在,在大屏幕上,如果你点击一个已在框中保存信息的文本区域,你就可以对其进行编辑。

在移动版本上,他们希望在您单击(触摸)文本框时出现一个弹出文本框,其中已经预先填充了原始信息,并且它还附加到移动设备上弹出的键盘顶部。我需要将新文本框附加到同一个点击事件,并用可编辑的信息填充它。

【问题讨论】:

到目前为止您尝试过什么?你能附上你的代码sn-ps吗? 'click' 事件可能吗? 有一个通用的javascript点击事件,但你真的把它复杂化了。除了单击之外,您无需执行任何操作即可让键盘在移动设备上弹出。如果没有发生这种情况,您的代码或设备本身可能存在问题。 在我看来你所做的不值得。首先,移动键盘不是网页的一部分,它是浏览器的一部分,它的实现将在浏览器/设备/操作系统之间改变。只是浏览器处理它...续 .. 续。如果您必须走这条路,则需要检测到您正在使用移动浏览器。检测文本区域何时具有焦点。创建文本框的填充副本。将此副本显示在页面上将随浏览器/操作系统/设备/设备方向更改的位置。将焦点更改为新文本框以接收输入。然后,当输入完成时,反转该过程并填充原始文本框。所以有很多事情要做,但收获不多。采取几个步骤的一种选择是仅分离文本框并更改其位置。还有很多工作。 【参考方案1】:

在 JS 中混淆事件是一个常见的错误。您正在寻找的不是点击,而是focus 事件。当然,您可以通过单击来聚焦元素,但您也可以使用“tab”键浏览元素。 如果您正在处理纯 JS,您可以使用 html 附加事件。

纯 HTML/JS:

<textarea name="xxx" id="textid" onfocus="alert('focused');"></textarea>

JQuery:

$('#textid').on('focus', function() 
    alert('focused');
);

要获得一个好的答案,您需要提供一些代码示例,说明您已经拥有什么、尝试过什么以及什么不起作用。

【讨论】:

以上是关于单击文本框时会触发哪个 javascript 事件?的主要内容,如果未能解决你的问题,请参考以下文章

Ajax AutoCompleteExtender文本框未在边缘浏览器中触发文本更改事件

哪个是 MFC C++ 中单选组合框的事件处理程序

Javascript中,当鼠标点击选中某个文本输入框时,该文本框可以响应啥事件

事件流

为啥鼠标右键单击在按下时会触发“pointerdown”事件,但在释放时不会触发“pointerup”事件?

单击下载链接并出现文件保存对话框时会触发啥事件?