Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当按钮移动和';鼠标';没有被解雇吗?_Javascript_Jquery_Dom - Fatal编程技术网

Javascript 当按钮移动和';鼠标';没有被解雇吗?

Javascript 当按钮移动和';鼠标';没有被解雇吗?,javascript,jquery,dom,Javascript,Jquery,Dom,我有一个输入框和一个按钮。当用户编辑输入文本并单击按钮时,会发生以下事件: 按钮-mousedown 输入-更改 输入-focusout 按钮-mouseup[不会发生] 按钮-单击[未发生] 原因:在输入change事件中,一个包含警告消息的div元素插入到按钮上方的DOM中,导致按钮移动。因此,mouseup事件不会在按钮上发生,也不会注册任何单击 限制:我无法单独处理按钮mouseup或mousedown——这是第三方按钮和事件 处理这种情况的最佳解决方案是什么?处理输入keypress

我有一个输入框和一个按钮。当用户编辑输入文本并单击按钮时,会发生以下事件:

  • 按钮-
    mousedown
  • 输入-
    更改
  • 输入-
    focusout
  • 按钮-
    mouseup
    [不会发生]
  • 按钮-
    单击
    [未发生]
  • 原因:在输入
    change
    事件中,一个包含警告消息的div元素插入到按钮上方的DOM中,导致按钮移动。因此,
    mouseup
    事件不会在按钮上发生,也不会注册任何单击

    限制:我无法单独处理按钮
    mouseup
    mousedown
    ——这是第三方按钮和事件


    处理这种情况的最佳解决方案是什么?

    处理输入
    keypress
    事件,而不是
    change
    事件,但这样做的缺点是每次用户按键时都必须运行潜在的复杂代码。它可以被节流等,但这似乎有点过头了


    处理按钮上的
    mousedown
    会有点可怕,因为用户希望在
    mouseup上发生的事情非常好。做得好。为你鼓掌D