javascript - 检测输入焦点事件是否由脚本或鼠标点击触发

标签 javascript jquery events input focus

<分区>

我正在处理输入上的焦点事件,它会触发 AJAX 请求以运行 $.autocomplete() 和结果。

$('.section').on('focus', '#title-picker.unfetched', function(e) {
    var $titleSearch = $('[name="titlesMode"]:checked');
    var getTitles = $titleSearch.val() == "installmentTitles" ? Installment.GetAppList(selectedInstallment) : Installment.GetAllAppList();
    getTitles.done(function(result) { 
           //stuff happens here

焦点是否由输入中的点击触发?

焦点是否由附加到 input[name="titlesMode"] 的 'change' 事件触发

     }).fail(function(error){
     console.error(error);
    });        
})
.on('change', 'input[name="titlesMode"]', function() {
    $('#title-picker').addClass("unfetched");
    if ($('#title-picker').val() != '') $('#title-picker.unfetched').trigger('focus');


 });

我还触发了 -with $.trigger('focus'),如果输入有值就会触发并再次获取结果,具体取决于搜索模式。

我只需要弄清楚焦点事件是由鼠标点击输入触发的还是由 $.trigger() 触发的。

我找到了一些代码来区分点击事件的来源,但没有找到焦点事件的代码:/

有什么想法吗?

最佳答案

这里没有任何代码,很难具体回答。 无论如何,jQuery 中的 .on() 和 .trigger() 方法都接受第二个参数。您可以使用普通对象来存储用于区分这两种情况的变量。

引用资料:

.trigger()

.on()

关于javascript - 检测输入焦点事件是否由脚本或鼠标点击触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22331086/

相关文章:

javascript - Jquery - 输入数据传输不精确

javascript - 如何调度多个 action creator(React + Redux + 服务端渲染)

javascript - 是否可以触发 DOM 事件并使其在 DOM 树中下降?

javascript - 动态创建多个具有唯一名称的 wavesurfer 对象

events - Scala Swing 事件框架 - 在哪里添加 react 器?

javascript - 使用 html-javascript 从 2 个列表的输入中打印一个电子邮件 ID 列表

javascript - 在数组项之间进行操作

javascript - Symfony2 收集字段,用于发送电子邮件的简单列表

javascript - 使用 JavaScript 和 jQuery,跨浏览器处理按键事件 (F1-F12)

javascript - jQuery live() 已弃用 : Using on for mouseenter and mouseout?