Jquery/Javascript:点击即可查找光标/焦点字段
Jquery/Javascript: Find cursor/focus field on click
如何通过事件侦听器捕获光标的位置?
换句话说,如果我的用户点击一个按钮,有可能找到当时光标的位置吗?如果是,如何?
更新我不确定我是否足够清楚。我不想要鼠标的位置。我想说的是,如果光标在表单的输入字段中,我想定位光标并找出FOCUS在哪里。
当然,当你点击一个按钮时,焦点会从原来的任何地方消失。但我似乎理解你想知道之前的焦点在哪里。
你可以这样做:
$('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
事件,当某个东西失去焦点时会触发,这可能更合适。
$("#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)
})
这应该可以做到:http://jsfiddle.net/eTsN3/
$('button').click(function (e) {
alert(e.pageX + '/' + e.pageY);
});
更多详细信息:http://docs.jquery.com/Tutorials%3aMouse_Position
如果您想用Jquery捕获鼠标位置并将其存储在一些标签中,请使用:
$(document).mousemove(function(e){
$('#sometag').html("X Axis : " + e.pageX + " Y Axis : " + e.pageY);
});
鼠标位置信息由e.pageX
和e.pageY
支持。所以在你的情况下,你可以使用
$('button').click(function(e){
$('#sometag').html("X Axis : " + e.pageX + " Y Axis : " + e.pageY);
});
您可以阅读此
您可以找到当前具有焦点的输入字段:
$("input:focus")
但是,当您单击按钮时,这将不起作用,因为在为单击的处理程序运行单击处理程序之前,在输入字段外单击会使其模糊。看看我演示的小提琴。它使用preventDefault()
,但这并不能防止模糊。
相关文章:
- 正在全局范围中查找JavaScript函数
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- es6 相当于下划线查找位置
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 自定义函数中的光标位置
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何在不传递此信息的情况下查找被调用的元素
- Lodash 从值数组中查找数组中的值
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 使用RegExp查找url中的字符
- 查找元素高度,包括边距
- 使用JS查找数组的平均值
- 查找最短和最长日期
- 使用窗口滚动查找光标的位置
- 如何查找光标在正文标记中的位置
- Jquery/Javascript:点击即可查找光标/焦点字段
- 如何查找当前光标区域是否为项目符号
- 在文本区域中查找光标的位置
- FabricJS:通过光标位置查找组中的对象