快速寫法變成$('xxx').click(function(){});
※瀏覽器事件
官網連結目前有三個:
.error():載入錯誤時
.resize():將視窗大小改變時
.scroll():右邊或下面有捲軸時,去按或用滑鼠的滾輪時
※.error()
$("img").error(function(){
alert('我錯了!');
$(this).hide();
}).attr("src", "Koala.bmp");
----------
<img src="xx.jpg" />
※img裡的src故意寫抓不到的名稱,這時會到attr抓圖,再沒有就會觸發
※.resize()
$(window).resize(function() {
$('body').prepend('<div>' + $(window).height() + ':' + $(window).width() + '</div>');
});
※.scroll()
$(window).scroll(function () {
$("div").css('color', 'red');
});
----------
<div>divdivdivdivdivdivdivdivdivdivdivdivdivdivdivdivdivdivdivdivdivdivdivdiv</div>
※移動視窗大小,使右邊或下面出現捲軸,去按或滾動滑鼠滾輪會觸發(沒出現捲軸沒用)
※鍵盤事件
官網連結目前有三個:
.keydown():按下按鍵時觸發
.keypress():按下按鍵,按鍵到最底部時觸發
.keyup():按下按鍵,並彈回來時觸發
$("input").keypress(function(){
alert('keypress');
});
$("input").keydown(function(){
alert('keydown');
});
$("input").keyup(function(){
alert('keyup');
});
$("input").keyup(function(){
alert('keyup');
}).keydown(function(){
alert('keydown');
}).keypress(function(){
alert('keypress');
});
----------
<input />
※在IE 11和Chrome測試的結果一樣,keyup和其他兩個一起執行都不會觸發
只有寫一個keyup才會觸發
※最下面的寫法是將三個合起來寫,效果也是一樣,當然keyup也還是不會觸發
※表單事件
官網連結目前有7個:
以下三個是一組的,都是聚焦時觸發,如進入input時,滑鼠游標會在裡面
.focus():最基本的
.focusin():最先執行
.focusout():最後執行
.blur():離開焦點時觸發,如離開input時,游標也不會在裡面
.change():很像.blur(),但只有內容改變時才會觸發
.select():就文字選起來時,如用滑鼠拖曳使背景變色就是選取,按兩下是選一個單字,也會觸發
.submit():表單提交時觸發
※.focus()相關
$(function(){
$('input').focusin(function(){
alert('1');
});
$('input').focus(function(){
alert('2');
});
$('input').focusout(function(){
alert('3');
});
$('input').blur(function(){
alert('4');
});
});
----------
<input />
※我將這四個順序弄亂,還是會按照1234的順序執行
※.select()
$(function(){
$('form').submit(function(){
alert('1');
});
});
----------
<form>
<input type="submit" />
</form>
※$('input').submit()是不會觸發的
※滑鼠事件
因為和其他事件差不多用法,就不貼範例了(hover例外).toggle():1.8過時;1.9移除了
.click():滑鼠按一下時觸發
.dblclick():滑鼠按二下時觸發
.contextmenu():按滑鼠右鍵時觸發
以下兩個比click還快
.mousedown():滑鼠按下時觸發
.mouseup():滑鼠按下並彈回時觸發
.mousemove():滑鼠移動時觸發
.hover():滑鼠進入離開時都會觸發
.mouseenter():滑鼠進入時觸發
.mouseover():滑鼠進入時觸發
.mouseleave():滑鼠離開時觸發
.mouseout():滑鼠離開時觸發
※滑鼠進入快到慢:mousemove-->hover-->mouseenter-->mouseover
※滑鼠離開快到慢:mousemove-->hover-->mouseleave-->mouseout
※.hover()
$(function() {
$("p").hover(function () {
$(this).css({'background-color' : 'green', 'color' : 'red'});
}, function () {
$(this).css({'background-color' : 'red', 'color' : 'green'});
});
});
----------
<p>
p
<span>span</span>
<span>span</span>
<span>span</span>
</p>
※第一個function是進入時觸發,第二個是離開時觸發
如果只寫一個,則進入離開都觸發同一個
沒有留言:
張貼留言