如何阻止 onfocus 事件触发?

Kār*_*els 2 javascript jquery

我想捕获聊天框输入字段 onfocus 事件以知道用户已阅读消息。当 onfocus 事件被触发时,我将向服务器发送 ajax 消息已被看到。

无论我尝试什么方法,我总是会不断触发 onfocus 事件。

<input type="text" name="content<?php echo $id; ?>" placeholder="Type message..." onfocus="chatboxInputInFocus(<?php echo $id; ?>)"/>
Run Code Online (Sandbox Code Playgroud)

和JS:

function chatboxInputInFocus(swap_id){
    alert(swap_id);
    return;
}
Run Code Online (Sandbox Code Playgroud)

我得到的是持续的警觉。如何只捕捉输入成为焦点的那一刻?JS 或 Jquery。

Ale*_*hin 5

不要用于alert()调试,因为它会触发您的注意力。
改用console.log()它,你的代码就会工作。

function chatboxInputInFocus(swap_id){
        console.log(swap_id);
        return;
    }
Run Code Online (Sandbox Code Playgroud)
<input type="text" name="content123" placeholder="Type message..." onfocus="chatboxInputInFocus(123)"/>
Run Code Online (Sandbox Code Playgroud)

  • 我刚刚输入了相同的答案。警报的问题是,它弹出后,焦点将转移到该警报上,而在用户关闭它后,焦点将返回到输入字段。因此,无限循环。 (2认同)