瞭解javaScript和JQuery做的一些記錄

一、javaScript
1、prompt方法
主要用處是:顯示提示對話框。   
用法:prompt(message,defaulttext)   
message 是提示信息   
defaulttext 是要輸入的值。也可以不輸入值,如果不輸入值,則返回null。
2、事件的監聽
ie中事件的監聽及刪除
object.attachEvent("onclick",functionName)
object.detachEvent("onclick",functionName)
DOM規範的瀏覽器如:firefox
object.addEventListener("click",functionName,false);
object.removeEventListener("click",functionName,false);
//第三個參數false表示的是採用冒泡型事件 true爲捕獲型事件
ie瀏覽器中事件對象是window對象的一個屬性event
object.onclick = function(){
var oEvent = window.event;
}
DOM中規定event對象必須作爲唯一參數傳給事件處理函數
object.onclick = function(oEvent){
//...
}
爲了兼容瀏覽器,通常採用如下方法:
object.onclick = function(oEvent){
if(window.event) oEvent = window.event;
}
3、錯誤調試
window.onerror事件
try{}catch(exception){}語句,例
try{
//...
}catch(exception){
var sError = "";
for(var i in exception){
sError += i + ":" + exception[i] + "\n";
}
}
4、調試器
firefox錯誤控制檯
Microsoft Script Debugger
5、表單控制
textarea輸入字符個數的控制:
<textarea name="comments" id="comments" cols="50" rows="5" maxlength="50"
onkeypress="return LessThan(this);"></textarea>
<script>
function LessThan(oTextArea){
return oTextArea.value.length < oTextArea.getAttribute("maxlength");
}
</script>
二、css
div標記不同行---整體進行換行
span標記同一行---行內標記
z-index 空間座標
三、dom
1、訪問節點
getElementsByTagName
getElementById
四、ajax
創建異步對象
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
else if(window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
}
建立請求
xmlHttp.open("GET",url,true)
第三個參數true表示異步交互
異步對象連接服務器
onreadystatechange事件
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4&&xmlHttp.status==200)
//...
}
send()發送
xmlHttp.send(null);
GET提交方式send(null)、POST方式send(requestURL)
五、jquery
注:引用jquery.js的連接必須放在其他js以用的上面
**屬性選擇器,jquery使用了XPath中的慣例來標識屬性,即將屬性前置一個@符號並放在一對方括號中。
例如,要選擇所有帶title屬性的鏈接,可以使用下面的代碼:
$('a[@title]')
此外,方括號在XPath語法中還有另外一種用途,即在不帶前置@符號的情況下,可以用來指定包含
在另一個元素中的元素。例如,可以通過下面的選擇符表達式,去的包含一個ol元素的所有div元素:
$('div[ol]')
1、事件操作
1.1、this關鍵字在jquery中引用的是DOM對象,而不是jquery對象,所以可以使用原生的DOM屬性
來確定被單擊元素的ID,如:
$(document).ready(function(){
$('#switcher .button').bind('click',function(){
$('body').removeClass();
if(this.id == 'switcher-narrow'){
$('body').addClass('narrow');
}
});
});
1.2、簡寫事件方法
簡寫事件方法的原理與對應的.bind()調用相同,如:
$('#switcher .button').click(function(){
//...
})
1.3、複合事件
.toggle(fn, fn2, [fn3, fn4, ...])
每次點擊後依次調用函數。如果點擊了一個匹配的元素,則觸發指定的第一個函數,當再次
點擊同一元素時,則觸發指定的第二個函數,如果有更多函數,則再次觸發,直到最後一個。隨
後的每次點擊都重複對這幾個函數的輪番調用。 可以使用unbind("click")來刪除。
1.4、其他
冒泡型事件容易出現一些意外的錯誤,用如下的函數可以屏蔽這個問題:
通過.target可以確定DOM中首先接收到事件的元素(即實際被單擊的元素)
$('#switcher .button').click(function(event){
if(event.target == this){
//...
}
})
.stopPropagation()可以完全阻止事件冒泡
$('#switcher .button').click(function(event){
//...
event..stopPropagation();
})
.preventDefault()可以終止默認操作,如表單enter按鈕默認的submit事件。
對於只需要發生一次的事件用.one()函數;
模擬事件操作----.trigger()函數
$(document).ready(function(){
$('#switcher').trigger('click');//簡寫$('#switcher').click();
});
2、DOM操作
2.1、插入操作
.insertBefore()和.before()方法作用相同,但是在使用.before()方法時,(.insertAfter()和.after()相同),必須把選擇器表
達式放在這個方法前面。如:
$('div.chapter p').after('<a href="#top">back to top</a>')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章