我做的是一个点击按键弹出软键盘的例子。
主要问题处在了这里哦:
$("#showkeyboard").click(function(e) {
var height = $('#keyboard').height();
var width = $('#keyboard').width();
leftVal=e.pageX-220+"px";
topVal=e.pageY-100+"px";
$('#keyboard').css({left:leftVal,top:topVal}).toggle();
});
我想让软键盘出现的位置在参数e的位置上,但是如果横坐标不减掉220,纵坐标不减掉100的话,软键盘出现的位置不是在e的位置上。我不明白这个220和100究竟是怎么来的?
还有e的横纵坐标是从屏幕的左上角开始算的么?如果是的话应该是第四象,第四象限的纵坐标是负数,那为什么e.pageY会是整数呢?问完,跪求高人解答,真的快哭了。

解决方案 »

  1.   

    pageX的作用与clientX大致相同,但pageX不支持IE浏览器.另外pageX与clientX的不同之处在于,pageX在所支持的浏览器中能返回正确的坐标,为什么这样说.clientX当网页有滚动条的时候,clientX不会计算滚动条所滚动的距离,而pageX则会计算.也就是说pageX会返回鼠标指针在网页内最真实的位置.
    pageX的作用是可以在FF浏览器中返回鼠标在网页之内水平位置,也就是说从左到右的坐标,用数字值来显示.
    注意该实例不支持IE浏览器,而且没有加上scrollLeft,但是依然会计算被滚动的距离
      

  2.   

    Virtual Keyboard
     http://www.htmldrive.net/items/demo/1045/Simple-jQuery-Virtual-Keyboard-Effect   
    不知这个有没有达到你的需求
      

  3.   

    $("#showkeyboard").offset().top = 220;
    $("#showkeyboard").offset().left = 100;
    不知道是不是,为了计算keyboard的位置是相对于showkeyboard元素的