如何阻止onfocus事件发射?

时间:2017-01-05 17:04:04

标签: javascript jquery

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

无论我尝试什么样的appproach,我总是不断地开始onfocus事件。

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

和JS:

function chatboxInputInFocus(swap_id){
    alert(swap_id);
    return;
}

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

3 个答案:

答案 0 :(得分:3)

请勿使用alert()进行调试,因为这会触发您的注意力 请改用console.log(),您的代码就可以使用。

&#13;
&#13;
function chatboxInputInFocus(swap_id){
        console.log(swap_id);
        return;
    }
&#13;
<input type="text" name="content123" placeholder="Type message..." onfocus="chatboxInputInFocus(123)"/>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用.one的方便jQuery方法。

$(document).ready(function(){
    $("input").one('focus', function(){
        alert('Just once!');
    });
});

https://api.jquery.com/one/

答案 2 :(得分:0)

此处需要传递onfocus函数参数中的事件对象并执行preventdefault。 function chatboxInputInFocus(swap_id){ alert(swap_id); ev.preventDefault(); return; } onfocus =&#34; chatboxInputInFocus(event,id)&#34; `