js设置光标位置(js获取光标所在元素)
把div设置成相对定位或绝对定位,总之是让其拥有left,top值, 当鼠标移进div的时候获取鼠标的坐标, 用鼠标的left减去div的left值就是鼠标在div里面的left值,即鼠标在div中的x坐标, 同理, 用鼠标的top值减去div的top值就是鼠标在div里面的top值,即鼠标在div中的y坐标 这样我们就获取了鼠标在div中的位置了
js中指的下标指的是数组下标,也就是数组元素的索引,第几个数组元素
出于安全性考虑和浏览器限制,js不能够设置鼠标的位置,如果提供此项功能,那岂不是在网页上就能控制用户的鼠标移动,这是不能被允许的。 只能够获取鼠标的位置,而不能设置鼠标的位置。
鼠标点击事件其实用onclick事件就可以捕获了。
1.
在文件夹中创建一个test的html文件,一个作为指针的ico图片cur,...
2.
在test创建一个div,id为a,并赋予宽高与背景色。
3.
在浏览器打开鼠标就是默认的样式。
4.
现在我们在div的后面添加script脚本,让鼠标移动到div上变为手形状。
可以用JS中对List、Map的遍历的方法
1.方法1
$.each(list2,function(index,items){
console.info(index+":"+items);
});
//遍历map
$.each(map_demo,function(key,value){
console.info("key: " + key + ", Value: " + value );
})
$.map()遍历List/map//遍历List
var new_list = $.map(list2,function(items,index){
return items+"!";
})
console.info(new_list);
//遍历map
$.map(map_demo,function(key,value){
console.log(key+":"+value);
});
小结:$.map()写法和$.each()类似,但对list的遍历时,参数顺序和$.each()是相反的,并且可以带返回值。对map的遍历和$.each()一样
2.for...in...遍历List/map//遍历map
for(var key in map_demo){
console.info(key+":"+map_demo[key]);
}
//遍历List
for(var index in list2){
console.info(index+":"+list2[index]);
}
小结:对于List来说,能不用for...in就不要用,效率低下。
3.forEach遍历Listlist2.forEach(function (element, index, array) {
console.info(element); //当前元素的值
console.info(index); //当前下标
console.info(array); //数组本身
});
小结:和for循环效率差不多。
方法:
1、打开Eclipse软件:打开后在工具栏依次点击【File】>>>【New】>>>【Dynamic Web Project】,这个就代表新建的项目是WEB项目。
2、如果找不到【Dynamic Web Project】这个选项,说明以前没有建立过WEB项目,所以不在快捷导航里,这时点击【Other】这个选项。
3、这个界面弹出的是查询窗口,查询的内容是所有可以建立的项目类型,比如JAVA项目、WEB项目等,都可以在这个窗口查询得到。
4、在查询输入框里输入【WEB】,下面会列出所有WEB相关的项目,鼠标选中【Dynamic Web Project】,然后点击【Next】按钮。
5、这个是填写项目的基本信息,包括项目名、项目运行时服务器版本,你可以选择tomcat或者其他都可以,看你的项目需要,在这里输入一个【Test】来测试项目的建立,输入完毕后点击【Next】。
6、这个窗口显示的WEB项目中需要编译的JAVA文件的目录,默认是SRC目录,这个不需要改,直接点击【Next】。
7、接着弹出窗口,显示的是WEB项目,WEB文件相关的目录,就是html或者jsp还有js那些web相关的文件存放的目录,默认是【WebContent】,你也可以修改成你想要的文件名,注意,下面有个复选框,表示的是是否要自动生成web.xml文件web.xml:这个文件是WEB项目的核心文件,也是WEB项目的入口,老版本的Eclipse都会有这个文件,但是新版本的Eclipse因为可以使用在JAVA代码中注解的方式,所以提供让用户选择是否要生成,如果是新手最好选择生成然后点击【Finish】。
8、下面就是我们新建的WEB项目的目录结果
JAVA存放目录:SRC
WEB文件目录:WebContent
WEB配置文件:web.xml
现在,你可以开始你的JAVA开发之旅了。
focus用于input和<textarea>,当光标在输入框内时为获取焦点,反之为失去焦点;一般当输入框内需要提示文字时使用blur()和focus()比较多失去焦点:获取焦点:
在地图右上角,坐标238.429,击杀元素怪,就可以获得地牢魔晶碎片
1. 通过顶层document节点获取:
(1)document.getElementById(elementId):该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法。如果页面上含有多个相同id的节点,那么只返回第一个节点。
如今,已经出现了如prototype、Mootools等多个JavaScript库,它们提供了更简便的方法:(id),参数仍然是节点的id。这个方法可以看作是document.getElementById()的另外一种写法,不过
()的功能更为强大,具体用法可以参考它们各自的API文档。
(2)document.getElementsByName(elementName):该方法是通过节点的name获取节点,从名字可以看出,这个方法返回的不是一个节点元素,而是具有同样名称的节点数组。然后,我们可以通过要获取节点的某个属性来循环判断是否为需要的节点。
例如:在HTML中checkbox和radio都是通过相同的name属性值,来标识一个组内的元素。如果我们现在要获取被选中的元素,首先获取改组元素,然后循环判断是节点的checked属性值是否为true即可。
(3)document.getElementsByTagName(tagName):该方法是通过节点的Tag获取节点,同样该方法也是返回一个数组,例如:document.getElementsByTagName(‘A’)将会返回页面上所有超链接节点。在获取节点之前,一般都是知道节点的类型的,所以使用该方法比较简单。但是缺点也是显而易见,那就是返回的数组可能十分庞大,这样就会浪费很多时间。那么,这个方法是不是就没有用处了呢?当然不是,这个方法和上面的两个不同,它不是document节点的专有方法,还可以应用其他的节点,下面将会提到。
2、通过父节点获取:
(1)parentObj.firstChild:如果节点为已知节点(parentObj)的第一个子节点就可以使用这个方法。这个属性是可以递归使用的,也就是支持parentObj.firstChild.firstChild.firstChild…的形式,如此就可以获得更深层次的节点。
(2)parentObj.lastChild:很显然,这个属性是获取已知节点(parentObj)的最后一个子节点。与firstChild一样,它也可以递归使用。
在使用中,如果我们把二者结合起来,那么将会达到更加令人兴奋的效果,即:parentObj.firstChild.lastChild.lastChild…
(3)parentObj.childNodes:获取已知节点的子节点数组,然后可以通过循环或者索引找到需要的节点。
注意:经测试发现,在IE7上获取的是直接子节点的数组,而在Firefox2.0.0.11上获取的是所有子节点即包括子节点的子节点。
(4)parentObj.children:获取已知节点的直接子节点数组。
注意:经测试,在IE7上,和childNodes效果一样,而Firefox2.0.0.11不支持。这也是为什么我要使用和其他方法不同样式的原因。因此不建议使用。
(5)parentObj.getElementsByTagName(tagName):使用方法不再赘述,它返回已知节点的所有子节点中类型为指定值的子节点数组。例如:parentObj.getElementsByTagName(‘A’)返回已知的子节点中的所有超链接。
3、通过临近节点获取:
(1)neighbourNode.previousSibling:获取已知节点(neighbourNode)的前一个节点,这个属性和前面的firstChild、lastChild一样都似乎可以递归使用的。
(2)neighbourNode.nextSibling:获取已知节点(neighbourNode)的下一个节点,同样支持递归。
4、通过子节点获取:
(1)childNode.parentNode:获取已知节点的父节点。
上面提到的方法,只是一些基本的方法,如果使用了Prototype等JavaScript库,可能还获得其他不同的方法,例如通过节点的class获取等等。不过,如果能够灵活运用上面的各种方法,相信应该可以应付大部分的程序。