Jquery / Javascript:点击查找光标/焦点字段

时间:2013-07-26 21:57:47

标签: javascript jquery cursor-position

如何通过事件监听器捕获游标的位置?

换句话说,如果我的用户点击了一个按钮,那么有可能在那时找到光标的位置吗?如果是这样,怎么样?

更新 我不确定我是否足够清楚。我不想要鼠标位置。我的意思是,如果光标位于表单上的输入字段内,我想找到光标并找出FOCUS的位置。

5 个答案:

答案 0 :(得分:0)

$("#button").click(function(e){
  console.log(e.clientX)//relative screen
  console.log(e.clientY)
  console.log(e.pageX)//relative document(scroll + window position)
  console.log(e.pageY)
})

答案 1 :(得分:0)

这应该可以解决问题:http://jsfiddle.net/eTsN3/

$('button').click(function (e) {
    alert(e.pageX + '/' + e.pageY);
});

更多详情:http://docs.jquery.com/Tutorials%3aMouse_Position

答案 2 :(得分:0)

如果要使用Jquery捕获鼠标位置并将其存储在某个标记内,请使用:

$(document).mousemove(function(e){
     $('#sometag').html("X Axis : " + e.pageX + " Y Axis : " + e.pageY);

  });

e.pageXe.pageY支持鼠标位置信息。所以在你的情况下你可以使用

$('button').click(function(e){
         $('#sometag').html("X Axis : " + e.pageX + " Y Axis : " + e.pageY);

      });

您可以阅读this

答案 3 :(得分:0)

您可以找出当前具有焦点的输入字段:

$("input:focus")

但是,当您单击按钮时,这将不起作用,因为在运行单击的处理程序的单击处理程序之前,单击输入字段外部会使其模糊。请参阅我展示的fiddle。它使用preventDefault(),但这不会阻止模糊。

答案 4 :(得分:0)

当然,当你点击一个按钮时,焦点就会从其它任何地方消失。但我似乎明白你想知道焦点在哪里。

你可以这样:

$('input, textarea, select').on('focus', function() { 
  console.log($(this).attr('id') + ' just got focus!!');
  window.last_focus = $(this).
});

$('button').on('click', function() {
  console.log('Last focus was on ' + window.last_focus.attr('id'));
});

这只是一个非常天真的实现。我也很好奇为什么你需要这个?

还有一个focusout事件会在失去焦点时触发,这可能更合适。