You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

引入jQuery后网页textarea无法点击输入,无法定位问题原因

解决textarea无法点击输入的问题

问题根源在你给document绑定的mousedown事件处理函数里:你一开始就调用了event.preventDefault(),这会阻止所有鼠标按下操作的默认行为——包括点击textarea时获取焦点、输入内容这些核心操作,自然就没法用textarea了。

你只需要把event.preventDefault()移到右键点击的判断逻辑里就行,因为只有右键点击时才需要阻止默认的上下文菜单,左键点击不需要全局拦截:

修改后的代码片段:

$(document).on('mousedown', function (event){
  // 移除全局的event.preventDefault()

  if(event.which == 3){
    event.preventDefault(); // 只在右键点击时阻止默认行为
    $('.hidden').removeClass('shown');

    if ($(event.target).is('img')){
        $('.saveimg, .newtab').addClass('shown');
    } else if ($(event.target).is('a')){
        $('.newtab').addClass('shown');
    }

    console.log(event.pageY, event.pageX);

    $('#context').css({
        top: event.pageY,
        left: event.pageX
    });

    $('#context').fadeIn();
    return false;
  }

  $('#context').fadeOut();
})

另外,你代码里的return false在右键逻辑里,它等同于event.preventDefault() + event.stopPropagation(),不过现在我们已经在里面加了event.preventDefault(),功能上是一致的,不影响使用。

改完之后,左键点击textarea就能正常获取焦点、输入内容了,右键的自定义菜单功能也能保留。

内容的提问来源于stack exchange,提问作者J Master J H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 03:51:14