易截截图软件、单文件、免安装、纯绿色、仅160KB

a标签中的href,onclick,#,javascript:void简要分析

<script type="text/javascript">
window.onbeforeunload=function()
{
alert("onbeforeunload event...");
//return false;
}
</script>
<a href="#" onclick="return true;">测试1</a><br/>
<a href="javascript:void(0)" onclick="return true;">测试2</a><br/>
<a href="javascript:void(0)" onclick="return false;">测试3</a><br/>
<a href="javascript:void(alert('test 4....'))" onclick="return true;">测试4</a><br/>
<a href="javascript:void(alert('test 5....'))" onclick="return false;">测试5</a><br/>
    在开发过程中,经常会使用测试1<a href='#' onclick='fun();return false;'/>这种方式来触发javascript事件而不改变当前链接.
或者测试2<a href="javascript:void(0)" onclick="return true;">测试2</a>这种方式来建立死链接。但是只要看过a href=”《javascript:void(0);” — avoid the void》和《How to Create Pop-Up Windows》这2篇文章后就能发现,作者更赞同使用测试1的方式而不是测试2,我也是认同作者的观点。
    在web标准中也是不建议使用测试2的方式的,但是测试2javascript:void(0)伪协议也会有bug存在,会使gif动画停止播放。
在测试2的案例中,我们还能看到,点击事件触发的时候(调用顺序:onclick->window.onbeforeunload->href),而测试1却没有,这是因为void运算符在执行之前会调用window.onbeforeunload方法
对于void运算符(void只做运算,返回结果为undefined),所以在调用到href时遇到void运算符的时候,可能就会产生一些bug
    但是使用测试1的方式href='#' onclick中加上return false,也会存在问题,导致点击链接页面返回顶部,这是由于#号默认锚点为#top,点击后重新定位到top锚点位置,当然可以自己再重新定义一个top锚点,但是这也不能很好解决问题,仍然也存在定位不准。有些朋友喜欢使用####来替换#(#一般为2到6个,大多都取4个)。无论#几个都是会存在这个bug的,原因同上。
点击链接导致页面返回顶部也可以采用span标签替换a标签来解决,但是还可以不改变标签,只需讲#用#this替换即可解决问题,也可以采用其它锚点
<a href='#this' onclick='fun();return false;'


相关文档:

JavaScript 获取对象的高度和宽度详细说明

scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetL ......

我收集的javascript document命令

引用地址:http://bbs.syue.com/thread-36034-1-1.html
直接在ie地址栏输入命令,回车,执行js。
这样也可以用来改变和获取元素的值和属性,很实用的。
查看cookie
javascript:alert(document.cookie)
直接编辑cookie
javascript:document.cookie=window.prompt("Linx Edit cookie:",document.cookie);void( ......

Javascript表单验证大全

1. 长度限制
<script>
function test()
{
if(document.a.b.value.length>50)
{
alert("不能超过50个字符!");
document.a.b.focus();
return false;
}
}
</script>
<form name=a onsubmit="return test()">
<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea&g ......

Javascript学习笔记之函数重载和类型检查

Javascript函数包含一个伪数组(pseudo-array),该数组包含所有传入参数,我们不能修改它,但可以访问其中的成员,该数组也具有length属性。
函数重载依赖于判断传入参数个数和类型的能力。
函数重载的例子:
<html>
<head>
<mce:script type="text/javascript"><!--
function sendMessage(msg ......

在CDHTMLDialog中用JavaScript调用C++函数

在类的构造函数中添加
EnableAutomation(); 
在OnInitDialog中添加
SetExternalDispatch(GetIDispatch(TRUE)); 
在类的声明中添加宏
DECLARE_DISPATCH_MAP() 
在类的实现文件中添加组宏
BEGIN_DISPATCH_MAP(当前类, 基类)
END_DISPATCH_MAP() 
然后就可以用 DISP_FUNCTION宏来映射导出函 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号