jquery获取点击控件的绝对位置简单实例

在使用jquery的过程中,想取得当前点击input的绝对位置而去显示一个div,jquery本身提供offset和position这个两个方法,但position官方解释是relative to the offset parent,可以看到是针对父结点的,而offset官方解释relative to the document,貌似使用offset可以直接绝对定位。但是在网页中如果出现嵌套div的情况,top和left会叠加,因此这个时候如果要定位显示一个新的div就要把父亲结点的offset去掉,jquery提供了offsetParent这个方法。

因此,如下代码可以在点击一个控件后,在其下方显示一个绝对定位的div。

$(‘#id‘).click(function(event){

  var curleft = $(event.target).offset().left;

  var curtop = $(event.target).offset().top+$(event.target).outerHeight();

  var obj = $(event.target);

  obj = obj.offsetParent();

  //获取控件绝对位置

  while(obj.attr(‘tagName‘).toLowerCase() != ‘body‘){

  curleft =curleft- obj.offset().left;

    curtop =curtop- obj.offset().top;

    obj = obj.offsetParent();

  }

  $(‘#div‘).css(‘top‘,curtop+‘px‘).css(‘left‘,curleft+‘px‘);

});

时间: 2024-07-31 19:14:39

jquery获取点击控件的绝对位置简单实例的相关文章

Jquery获取EasyUI时间控件的值

jquery easyui日期控件中,在页面里用JS拿到设置的日期值的方法 jquery easyui 日期框 有这样的一个日期文本框: <input type="text" name="mdate" size="20" value="" id="mdate" class="easyui-datebox"/> 使用easyui给文本框选定日期值,然后,要在JS中拿到此日期框中

getHitRect获取点击控件的位置

public  void getHitRect(Rect outRect)                   Added in API level 1 Hit rectangle in parent's coordinates:找到控件占据的矩形区域的矩形坐标 Parameters outRect: The hit rectangle of the view:控件占据的矩形区域 测试代码如下,根据代码可以很直观的知道这个函数的用法: package com.sean.gethitrecttes

jQuery的时间datetime控件在AngularJs中使用实例

百度一下,自己也想了一下,有一种简单,无脑的方式分享给你: <input ng-model="start" id="start" placeholder="开始日期" style="width:156px;" class="form-control date-picker" data-date-format="yyyy-mm-dd" type="text">

jquery的智能提示控件

福利到~分享一个基于jquery的智能提示控件intellSeach.js 一.需求 我们经常会遇到[站内搜索]的需求,为了提高用户体验,我们希望能做到像百度那样的即时智能提示.例如:某公司人事管理系统,想搜索李XX,只要输入“李”,系统自然会提示一些姓李的员工,这样方便用户使用.说白了,就是用户边输入,系统会提示相关的结果:或者,当用户点击搜索框时,就推荐一些内容,如360.百度都会提示今天的主要新闻或搜索量大的内容. jquery 已经有一个这样的插件了,叫 autocomplete, 但我

获取屏幕上的某个控件相对位置,尤其是tableviewcell上的某一个控件的相对位置

我的需求就是tableviewcell上的按钮,点击就会出现一个弹框: 主要就是获取,所点击的cell上控件的相对位置: CGPoint buttonCenter = CGPointMake(btn.bounds.origin.x + btn.bounds.size.width/2, btn.bounds.origin.y + btn.bounds.size.height/2); CGPoint btnorigin = [btn convertPoint:buttonCenter toView:

页面JS获取不到控件ID

为了使页面更加的友好,我们不可避免的要在页面上使用JS,所以在页面上使用javascript获取控件ID是很常见的事情.但是最近在使用JS的使用,遇到了一件让我很头疼的事情,在获取控件ID时,抱错了,监控显示,获取不到控件ID. 源代码: <script type="text/javascript"> Function(){ var args = window.dialogArguments; var serverTaskInfo = $("#hidTaskInf

jQuery同时处理一个控件的click和dblclick事件

1 jQuery.fn.single_double_click = function(single_click_callback, double_click_callback, timeout) { 2 return this.each(function(){ 3 var clicks = 0, self = this; 4 jQuery(this).click(function(event){ 5 clicks++; 6 if (clicks == 1) { 7 setTimeout(func

Jquery获对HTML控件的控制

1.获取控件的值 1.1.radio 1.1.1 获取一组radio被选中项的值  var item = $('input[name=items][checked]').val(); 1.1.1 radio单选组的第二个元素为当前选中值  $('input[name=items]').get(1).checked = true; 1.2.select   1.2.2 获取select被选中项的文本  var item = $("select[name=items] option[selected

jquery上传文件控件Uploadify

基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. 要求使用jquery1.4或以上版本,flash player 9.0.24以上. 有两个版本,一个用flash,一个是html5.html5的需要付费~所以这里只说flash版本的用法. 官网:http://www.uploadify.com/ 控件截图: 用法: 首先引用下面的文件 <link rel="stylesheet" type="text/css&