最近一段時間寫了很多JavaScript和jquery程式碼,越來越感覺js基礎不牢固,寫一句查半天,有時間肯定要系統的學一下。
不說了,先記一下最近學到的點東西,省的以後沒時間系統學js還要再來查。
一,在js方法中獲取觸發方法的事件以及觸發事件的元素物件:
A、獲取事件物件比較簡單:
var e = window.event;
但是需要注意的是:通過a標籤的href是不能觸發事件的:
//寫了一個js方法: function getEvent(){ console.log(window.event);//在谷歌控制檯列印 } //兩個a標籤以不同形式觸發該方法: <a href="javascript:getEvent();" >標籤一</a> <a href="javascript:void(0);" onclick="getEvent()" >標籤二</a> //最後標籤一列印的是undefined,標籤二卻可以正常獲取window.event物件
B、獲取了事件就可以獲取觸發事件的元素了
var currentElement =window.event.srcElement || window.event.target;
這獲取的是一個原生的JavaScript元素物件,可以用$(currentElement)來獲取對應的jquery物件,這樣就能用jquery的方法了。
二、判斷一個物件是否為undefined(typeof的用法)
var url; if(url==''||url==null||typeof(url)=="undefined"){ }
核心就是:typeof(url)=="undefined"
在js中,typeof 可以用來檢測給定變數的資料型別,可能的返回值:
1. 'undefined' --- 這個值未定義;
2. 'boolean' --- 這個值是布林值;
3. 'string' --- 這個值是字串;
4. 'number' --- 這個值是數值;
5. 'object' --- 這個值是物件或null;
6. 'function' --- 這個值是函式。
三、判斷當前視窗是最父級視窗還是放在一個iframe中,並獲取這個iframe物件
if(top!=self){ var iframe=window.frameElement; var iframeId = $(iframe).attr("id"); }
這裡top就代表頂級視窗物件,self就是當前視窗物件,frameElement就是獲取當前所在的iframe物件