web开发常用到的js事件
细节的总结
1.
这样会提交2次,submit本身就会提交,因此,改为type="button";
2.
Type="image" 是自动提交。解决的方法:在body里面加onsubmit="return false";
Type=image 与onclick会出现问题,猜测image类型应该与submit类型的按钮应该都是提交类型。拦截了form的onsubmit的执行流程,发现页面确实被post了一次。在onclick 执行结尾加上return false即可。
3.当用图片作为提交或者重置
的动作时,可以form.submit() 或者form.reset();
4.在做登陆选择用户名的下拉效果时,碰到了IE缓存的问题,使得页面很难看。
上百度一查。
原来在input 里加一个autocomplete="off"属性就可以了。
如:
5.方法名不可以和一些关键的方法名同名,比如onclick="reset()" 而这个reset 是个function方法。这样是不可以的,因为reset本身就是重置的方法。
6.关于window.open()的问题
Window.open()的参数列表
?例:
?
?window.open ('p age.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no,resizable=no,location=no, status=no')
?
page.html 弹出窗口的文件名;
newwindow 弹出窗口的名字(不是文件名),非必须,可用空''代替;
height=100 窗口高度;
width=400 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar,scrollbars 表示菜单栏和滚动栏。
resizable=no 是否允许改变窗口大小,yes为允许;
location=no 是否显示地址栏,yes为允许;
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
在写页面程序的时候,经常会使用到javascript来控制窗口的弹出—window.open()。它的参数非常的灵活,标题、名称、窗口参数配置。用户有时可能会在同一个页面中要打开几个窗口来查看不同的内容,如果代码规范不够细致,开发者又不够小心,就会遇到这样的问题:先弹出了一个窗口而没有关闭,当用户想再打开另一个窗口显示不同的内容时,第一个窗口的内容会被新的内容覆盖而不会有新窗口打开。例如,用户在编辑定单的时候,要先打开一个窗口选择供应商,在关闭供应商窗口之前,用户又打开另一个窗口要选择时间。没有
新的窗口打开,只是供应商窗口的内容被时间选择的窗口给覆盖了。这个问题曾经困扰过我两次,相信不会有第三次了。
问题出在window.open()的调用上。如果两个window.open的名称参数是一样的,那么IE会在同一个弹出窗口中load新内容。解决办法已经出来了—就是为每一个window.open定义不同的名称参数。看似简单的解决办法,其实又引申出另一个概念:用习惯规避风险!良好的开发规范可以减少大量的潜在风险,也许你不需要知道所有的规范有什么好处,但首先你要保证遵守既定的开发规范,然后再去理解它,发展它。
比如:时间就是可以做窗口名称,可以打开多个重复的窗口
7.关于js一些常用的事件
网页操作函数document.all.WebBrowser.ExecWB(6,1)的参数取值意义,如下:
第一个参数的所有取值
typedef enum
{
OLECMDID_OPEN = 1,
OLECMDID_NEW = 2,
OLECMDID_SA VE = 3,
OLECMDID_SA VEAS = 4,
OLECMDID_SA VECOPY AS = 5,
OLECMDID_PRINT = 6,
OLECMDID_PRINTPREVIEW = 7,
OLECMDID_PAGESETUP = 8,
OLECMDID_SPELL = 9,
OLECMDID_PROPERTIES = 10,
OLECMDID_CUT = 11,
OLECMDID_COPY = 12,
OLECMDID_PASTE = 13,
OLECMDID_PASTESPECIAL = 14,
OLECMDID_UNDO = 15,
OLECMDID_REDO = 16,
OLECMDID_SELECTALL = 17,
OLECMDID_CLEARSELECTION = 18,
OLECMDID_ZOOM = 19,
OLECMDID_GETZOOMRANGE = 20,
OLECMDID_UPDA TECOMMANDS = 21,
OLECMDID_REFRESH = 22,
OLECMDID_STOP = 23,
OLECMDID_HIDETOOLBARS = 24,
OLECMDID_SETPROGRESSMAX = 25,
OLECMDID_SETPROGRESSPOS = 26,
OLECMDID_SETPROGRESSTEXT = 27,
OLECMDID_SETTITLE = 28,
OLECMDID_SETDOWNLOADSTA TE = 29,
OLECMDID_STOPDOWNLOAD = 30,
OLECMDID_ONTOOLBARACTIV A TED = 31, OLECMDID_FIND = 32,
OLECMDID_DELETE = 33,
OLECMDID_HTTPEQUIV = 34,
OLECMDID_HTTPEQUIV_DONE = 35, OLECMDID_ENABLE_INTERACTION = 36, OLECMDID_ONUNLOAD = 37,
OLECMDID_PROPERTYBAG2 = 38,
OLECMDID_PREREFRESH = 39,
OLECMDID_SHOWSCRIPTERROR = 40, OLECMDID_SHOWMESSAGE = 41,
OLECMDID_SHOWFIND = 42,
OLECMDID_SHOWPAGESETUP = 43, OLECMDID_SHOWPRINT = 44,
OLECMDID_CLOSE = 45,
OLECMDID_ALLOWUILESSSA VEAS = 46, OLECMDID_DONTDOWNLOADCSS = 47, OLECMDID_UPDA TEPAGESTA TUS = 48, OLECMDID_PRINT2 = 49,
OLECMDID_PRINTPREVIEW2 = 50,
OLECMDID_SETPRINTTEMPLA TE = 51, OLECMDID_GETPRINTTEMPLA TE = 52, OLECMDID_PAGEACTIONBLOCKED = 55, OLECMDID_PAGEACTIONUIQUERY = 56, OLECMDID_FOCUSVIEWCONTROLS = 57, OLECMDID_FOCUSVIEWCONTROLSQUERY = 58, OLECMDID_SHOWPAGEACTIONMENU = 59, OLECMDID_ADDTRA VELENTRY = 60, OLECMDID_UPDA TETRA VELENTRY = 61, OLECMDID_UPDA TEBACKFORWARDSTA TE = 62, OLECMDID_OPTICAL_ZOOM = 63,
OLECMDID_OPTICAL_GETZOOMRANGE = 64, OLECMDID_WINDOWSTA TECHANGED = 65
} OLECMDID;
第二个参数的所有取值
typedef enum
{
OLECMDEXECOPT_DODEFAULT = 0, OLECMDEXECOPT_PROMPTUSER = 1,
LECMDEXECOPT_DONTPROMPTUSER = 2,
OLECMDEXECOPT_SHOWHELP = 3
} OLECMDEXECOPT;
例如如下函数:
例如以下函数:
(1)WebBrowser.ExecWB(1,1) 打开
(2)WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
(3)WebBrowser.ExecWB(4,1) 保存网页
(4)WebBrowser.ExecWB(6,1) 打印
(5)WebBrowser.ExecWB(7,1) 打印预览
(6)WebBrowser.ExecWB(8,1) 打印页面设置
(7)WebBrowser.ExecWB(10,1) 查看页面属性
(8)WebBrowser.ExecWB(15,1) 好像是撤销,有待确认
(9)WebBrowser.ExecWB(17,1) 全选
(10)WebBrowser.ExecWB(22,1) 刷新
(11)WebBrowser.ExecWB(45,1) 关闭窗体无提示
");>
本例适用于IE
8.记录并显示网页的最后修改时间
document.write("最后更新时间: " + https://www.360docs.net/doc/4010203005.html,stModified + "")
9.
10.
2秒后关闭当前页
11.2秒后载入指定网页
12.
function bookmarkit()
{
window.external.addFavorite('http://你的网址','你的网站名称')
}
if (document.all)document.write('加入收藏夹')
13.
禁止鼠标右键的动作
function click() { if (event.button==2||event.button==3)
{
alert('禁止鼠标右键');
}
document.onmousedown=click // -->
14.
设置该页为首页
15.
节日倒计时
var timedate= new Date("October 1,2002");
var times="国庆节";
var now = new Date();
var date = timedate.getTime() - now.getTime();
var time = Math.floor(date / (1000 * 60 * 60 * 24));
if (time >= 0)
document.write("现在离"+times+"还有: "+time +"天")
16.
单击按钮打印出当前页
if (window.print) {
document.write('
');}
17.
单击按钮…另存为?当前页
18.
显示系统当前日期
today=new Date();
function date(){
this.length=date.arguments.length
for(var i=0;i this[i+1]=date.arguments } var d=new date("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); document.write( " ", today.getY ear(),"年",today.getMonth()+1,"月",today.getDate(),"日", d[today.getDay()+1],"" ); 19. 不同时间段显示不同问候语 var text=""; day = new Date( ); time = day.getHours( ); if (( time>=0) && (time < 7 )) text="夜猫子,要注意身体哦!" if (( time >= 7 ) && (time < 12)) text="今天的阳光真灿烂啊,你那个朋友呢?" if (( time >= 12) && (time < 14)) text="午休时间。您要保持睡眠哦!" if (( time >=14) && (time < 18)) text="祝您下午工作愉快!" if ((time >= 18) && (time <= 22)) text="您又来了,可别和MM聊太久哦!" if ((time >= 22) && (time < 24)) text="您应该休息了!" document.write(text) 20. 水中倒影效果 function f1() { setInterval("mdiv.filters.wave.phase+=10",100); } if (document.all) { document.write(' style="filter:wave(strength=3,freq=3,phase=0,lightstrength=30) blur() flipv()">') window.onload=f1 } 21. 慢慢变大的窗口 return } setTimeout("tenumxt()",50) } //--> 鼠标指向时弹出信息框 在
22.
随机变换背景图象(一个可以刷新心情的特效)
在
之间加上如下代码:image = new Array(4); //定义image为图片数量的数组
image [0] = 'tu0.gif' //背景图象的路径
image [1] = 'tu1.gif'
image [2] = 'tu2.gif'
image [3] = 'tu3.gif'
image [4] = 'tu4.gif'
number = Math.floor(Math.random() * image.length);
document.write("
");23.
鼠标一碰就给颜色看的链接在
之间加上如下代码:你敢碰我,我就给点颜色你看!
sub anniu
document.fgColor=int(256*256*256*rnd)
end sub
24.
从天而降并有幻影效果的窗口
function move(x) {
if(self.moveBy){
self.moveBy (0,-800);
for(i = x; i > 0; i--)
{
self.moveBy(0,3);
}
for(j = 200; j > 0; j--){ //如果你认为窗口抖动厉害,就200换成个位数
self.moveBy(0,j);
self.moveBy(j,0);
self.moveBy(0,-j);
self.moveBy(-j,0);
}
}
}
25.
表格的半透明显示效果在
之间加上如下代码:.alpha{filter: Alpha(Opacity=50)} //50表示50%的透明度
在
之间加上如下代码:很酷吧! |
26.
锁定状态栏文字防止显示地址
27.禁止图片下载
在
oncontextmenu="return false" ondragstart="return false" onselectstart="return false" scroll="auto"
28.加入背景音乐
对Netscape ,IE 都适用
29.嵌入网页
30.
跳转
31.
滚动
32.
如何控制横向和纵向滚动条的显隐?
去掉x轴 去掉y轴不显33.定义本网页关键字,可以在
中加入如下代码: Content 中所包含的就是关键字,你可以自行设置。这里有个技巧,你可以重复某一个单词,这样可以提高自己网站的排行位置,如:
34.删除确认:
35.隐藏状态栏中的链接地址:
kstatus();
function kstatus(){
self.status="GBlog () ";
setTimeout("kstatus()",0);
}
自定义指定区域的文字大小:
【 中 < A href="javascript:doZoom(12)">小】
function doZoom(size){
document.getElementById('zoom').style.fontSize=size+'px'
}
36.Input输入框文字效果:
通过层来实现渐淡淡出
function makevisible(cur,which){
if (which==0)
cur.filters.alpha.opacity=100
else
cur.filters.alpha.opacity=50
}
https://www.360docs.net/doc/4010203005.html,
37.网页屏保
function screensave(){
test.value++;
if(test.value==5){
test.style.display='none';
document.all[4].bgColor='black';
}
}
function screenopen(){
test.value=0;
test.style.display='';
document.all[4].bgColor='';
}
5 秒屏保
38.在form中只有input输入框的情况下...在这个input输入框中按enter进行提交表单
39.离开页面时弹出警告:
function checkclose(){
event.returnV alue = "测试啊" //XXX可以改为任何文本信息也可以是空
}
40.返回页面顶部:
javascript:window.scroll(0,0)
41.Javascript刷新页面的几种方法:
1 history.go(0)
2 location.reload()
3 location=location
4 location.assign(location)
5 document.execCommand('Refresh')
6 window.navigate(location)
7 location.replace(location)
8 document.URL=location.href
42.自动刷新页面的方法:
1.页面自动刷新:把如下代码加入
区域中其中20指每隔20秒刷新一次页面.
2.页面自动跳转:把如下代码加入
区域中其中20指隔20秒后跳转到https://www.360docs.net/doc/4010203005.html,页面
3.页面自动刷新js版
function myrefresh()
{
window.location.reload();
}
setTimeout('myrefresh()',1000); //指定1秒刷新一次
43.
开窗时刷新 关闭时刷新44. Input再输入时就是大写
style="text-transform: uppercase",相当然全变小写就是lowercase 45.禁止右键
禁止粘贴
禁止选中,防止复制