1、jQuery的load()事件處理的BUG,當圖片是從瀏覽器緩存取得時,獲取的是錯誤的尺寸。
我們提供的服務有:成都網站制作、網站建設、微信公眾號開發(fā)、網站優(yōu)化、網站認證、大石橋ssl等。為成百上千家企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的大石橋網站制作公司
2、錯誤的代碼是:
(錯誤) 在添加了HTML之后立即調用代碼獲取尺寸
3、(錯誤) 用jQuery的load()事件處理
4、經實際測試,使用jQuery 1.3.2及以上版本(1.6.2、1.8.2),在服務器端測試讀取瀏覽器緩存時,可以得到正確尺寸。不存在原作者所說的jQuery的load()事件存在BUG的問題。
5、下面這種才是真正正確的方法,使用JavaScript的Image類:
(正確) 的方法:
6、或一種辦法
解決方法:原生js圖片onload方法:
你是要獲取$('.inner-message a')的值還是要使用$('.inner-message a')的事件呢?
如果是獲取值,我想樓上的那位朋友他已經說過了,是說可以成功的,但是如果獲取事件估計就不行了。我所說的事件是指$('.inner-message a').click或者$('.inner-message a').hover這種。
造成這個問題的原因,是因為jquery他的事件機制是當頁面完全加載成功后,會根據所有目前頁面上符合要求的dom添加事件標示,這樣當你觸發(fā)事件的時候,擁有該事件標示的DOM就會給予響應。
但你這個append很可能是頁面加載完成后,再觸發(fā)的事件,這樣的話,很可能你這個標示初始化的時候就沒有成功加上,所以你不能簡單的使用click或hover這種方法,而要用另外一個寫法。
$('.inner-message a').live('click',function(){})
類似這種寫法,也就是使用live方法就可以了,這個也是大部分jquery無法響應的事件的解決方式,希望可以幫到你~
打字不易,如滿意,望采納。
script?src=""/script
先排除兼容性問題,可以在頁面上引用下公共庫看下是否可以使用,以jquery的兼容性來說這個概率不是很大。
然后就是控制臺看下有沒有拋錯,不能用大概率是引用路徑出錯了
應該是你的js代碼寫在body前面了。
網頁加載內容是從上到下的,在這個標簽還沒有創(chuàng)建的時候你就調用了那段代碼,所以沒有找到指定的dom元素。
只要把代碼放在body尾部就可以了
或者: $(function(){
//代碼放在這里面
});
這種格式會確保內部的代碼在所有dom加載完成的時候才開始執(zhí)行。