首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何解决点击HTML输入字段时不会获得焦点的问题?

如何解决点击HTML输入字段时不会获得焦点的问题?
EN

Stack Overflow用户
提问于 2018-04-04 00:18:11
回答 2查看 0关注 0票数 0

我无法在我的HTML表单上访问我的输入字段和textarea

JS,HTML和CSS非常大,所以我不能在这里发布。

有人可以告诉我在调试时要查找什么吗?

如果将光标移到input字段上,我可以看到文本光标,但是当我点击它时,字段不会获得焦点。我可以通过按键访问该字段Tab,如果我右键单击它,然后单击该字段,我也会获得焦点。他们没有disabledreadonly属性

EN

Stack Overflow用户

发布于 2018-04-04 09:08:33

当我点击它时,字段没有得到重点。我可以通过按“tab键”访问该字段

这听起来像已经取消了mousedown事件的默认操作。通过你的HTML和JS搜索onmousedown处理程序,然后查找一行。

代码语言:javascript
复制
return false;

这条线可能会阻止你通过单击进行聚焦。

我假设你不能编辑添加这个处理程序的代码?如果可以的话,最简单的解决方案就是删除return false;语句。

有没有办法通过不覆盖它来为事件触发器添加功能?

这取决于处理程序是如何连接的。如果使用传统的注册方法(例如element.onmousedown)附加它,则可以为其创建一个包装:

代码语言:javascript
复制
var oldFunc = element.onmousedown;
element.onmousedown = function (evt) {
    oldFunc.call(this, evt || window.event);
}

由于此“wrapper”不会返回false,因此它不会取消该元素的默认操作(聚焦)。如果使用高级注册方法(例如addEventListenerattachEvent)附加事件,则只能使用函数名称/引用删除事件处理程序,并使用类似于上面的包装函数重新附加它。如果它是一个添加的匿名函数,并且无法获得对它的引用,那么唯一的解决方案是使用element.focus()方法手动添加另一个事件处理函数并手动聚焦元素。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档