学习笔记
e.stopPropagation() — 阻止事件冒泡;或者 return false;
ready() 只要页面的DOM模型加载完毕,就会触发ready() 方法,而 onLoad()只有等页面全部加载完成后才能触发;
bind(type,[data],fn) — type的类型:blur focus load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleve change selest submit keydown keypress keyup error
$('').bind('click mouseout',function(){}); 绑定多个事件,将事件用空格隔开;
$('input').bind({
focus:function(){
$('div').html('执行的是foucus事件')
},
keydown: function(){
$('div').html('keydown');
}
}); — 映射方式绑定不同的事件
unbind() — 不填写参数,删除所选元素的所有事件,unbind(type,fn) — type为移除的事件类型,fn为需要移除的事件处理函数,如果该方法没有参数,则移除所有绑定的事件,如果带有参数type,则移除该参数指定的事件类型,如果带有参数fn,则只移除绑定时指定的函数fn;
事件切换方法 — hover() , toggle();
toggle() - 每次点击后依次调用函数,该方法再调用函数时并非随机或指定调用,而是通过函数设置的前后顺序进行调用,其调用的语法格式如下:toggle(fn,fn2,fn3,[fn4,fn5,...]);toggle() 方法在 jQuery 版本 1.8 中被废弃,在版本 1.9 中被移除。
trigger — 在所选择的元素上自动触发指定类型的事件;trigger(type,[data]);
$('button').bind('btn_click',function(){ //自定义的 btn_click 事件
$('div').html('自动触发');
})
$('button').trigger('btn_click');//页面加载完成自动触发自定义的事件
$('input').trigger('select');//页面加载获取自动获取焦点 或者:(autofocus="autofocus")input属性
triggerHandler() —与 trigger() 方法不同, 方法不会引起所发生事件的默认行为
$("input").select(function(){
$("input").after("发生 Input select 事件!");
});
$("button").click(function(){
$("input").triggerHandler("select");//会触发select事件中的函数但(文本不会被选中)
});
邮箱验证:正则 - !/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
对话框:居中显示
function showDialog(){
var $by = $(window),
obj = $('.dialog'),
brsW = $by.width(),
brsH = $by.height(),
sclL = $by.scrollLeft(),
sclT = $by.scrollTop(),
curW = obj.width(),
curH = obj.height();
//计算对话框居中时的左、上边距
var left = sclL + (brsW - curW)/2;
var top = sclT + (brsH - curH)/2;
obj.css({"left":left,"top":top});
console.log(sclT,sclL)
}
showDialog();
$(window).resize(function(){
if(!$('.dialog').is(':visible')){
return false;
}
showDialog();
})
fadeTo — fadeTo(speed,opacity,[callback]);设置将透明度指定到某一个值
load(url,[data],[callback]);
getJSON(url,[data],[callback]);
getScript(url,[callback]);
$.get(url,[data],[callback],[type]); — type:html xml js json text
$.post(url,[data],[callback],[type]); — type:html xml js json text
serialize() — 序列化表单,不足表单中有多项被选中时,该方法只能传递一项的值
$.ajax([options]); — url 请求地址,
type 请求方式(post、get)默认为get,
data 发送到服务器的数据,如果不是字符串自动转换为字符串,
dataType 返回的数据类型 没有指定将自动判断(html script text xml json),
beforSend 用于发送请求前修改XMLHttpRequest对象,
complete 完成后调用的回调函数,无论成功与否都会调用,
success 请求成功后的回调函数,
err 请求失败后的回调函数,
async 是否异步 true是,false 否,
cache 是否进行页面缓存,false不缓存;
$.ajaxSetup([options]) — //设置全局性的Ajax选项,避免重复编写相同的代码;
$('').ajaxAtart(fn); — //设置全局性的Ajax选项,当请求开始执行时触发,往往用于编写一些准备性的工作;
$('').ajaxStop(fn); — //设置全局性的Ajax选项,当请求结束时触发,在这一事件中,常常与前者配合,说明请求的最后进展状态;
<form action="demo_form.asp">
Webpage: <input type="url" list="url_list"
name="link" />
<datalist id="url_list">
<option label="W3Schools" value="http://www.w3schools.com" />
<option label="Google" value="http://www.google.com" />
<option label="Microsoft" value="http://www.microsoft.com" />
</datalist>
<input type="submit" />
</form>
属性:autocomplete="true/false" 属性规定输入字段是否应该启用自动完成功能。自动完成允许浏览器预测对字段的输入。当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。
使用于:<form>以及下面的 <input> 类型:text, search, url, telephone, email, password, datepickers, range 以及 color。