单击文本框时会触发哪个 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文本框未在边缘浏览器中触发文本更改事件
Javascript中,当鼠标点击选中某个文本输入框时,该文本框可以响应啥事件