關於js智慧型提示的封裝 修訂版

2022-02-19 11:03:20 字數 3365 閱讀 9106

修改後的智慧型提示,下拉框的樣式相容了ie6,7,8,9.  沒有了之前的css檔案和下拉框的html**。清除了textbox的記憶功能和點選enter時頁面回傳。只須乙個bonker.js檔案即可。

使用非常簡單呼叫bonker.js檔案裡面的 init(id, url, fun);的方法。

id和url為必須傳的引數。fun為可選引數。沒有則不用填寫

js檔案**:

bonker.js檔案內容

//

初始化,為text繫結事件,定義url,**函式fun(可選)

varbonkerdiv;

varbonkerfun;

vartxtid;

function

init(id, url, fun)

else if

(fun)

textcontrol =document.getelementbyid(id);

//清除輸入框記憶功能

textcontrol.autocomplete = "off";

if(textcontrol.attachevent)

else}//

阻止輸入enter,頁面回傳

function

pressenter(ev)

if (ev.keycode == 13) }//

處理鍵盤事件主要是enter 向上 向下鍵

function

main(ev)

if (ev.keycode == 40)

else

if (ev.keycode == 38)

else

if (ev.keycode == 13)

else

else

}}//

建立xmlhttp物件

var xhr = function

() ,

function () ,

function () ,

];for (var i = 0, n = fns.length; i < n; i++)

catch

(e)

}return

arguments.callee.single();

} else}//

ajax獲取資料 資料以逗號分開

相容獲取offsettop和offsetleft

function

getabsoluteoffsettop(obj)

function

getabsoluteoffsetleft(obj)

//展示資料,動態生成下拉框,為每個選項繫結事件

function

showdata(obj, result)

else

}var bonkertop =getabsoluteoffsettop(obj);

var bonkerleft =getabsoluteoffsetleft(obj);

bonkerdiv.style.top = (bonkertop + obj.offsetheight) + "px";

bonkerdiv.style.left = bonkerleft + "px";

bonkerdiv.style.width = obj.offsetwidth + "px";

bonkerdiv.style.height = obj.offsetheight * resarr.length + "px";

bonkerdiv.style.display = "inline";

bonkertotallength =resarr.length;

bonkerlength = -1;

var innerstr = "";

for (var item in

resarr)

bonkerdiv.innerhtml =innerstr;

}function

showbonkerblur(ev)

//點選每個選項執行的函式

function

settext(obj)

//滑鼠移動到選項執行

function

setcolor(obj)

obj.style.backgroundcolor = "#ebebeb";

bonkerlength = (number)(obj.id.replace(/bonker/, ""));}//

滑鼠移走時執行

function

clearcolor(obj)

//向下鍵 執行函式

function

divnext()

bonkerlength++;

if (bonkerlength ==bonkertotallength)

if (bonkerlength == -1)

else

} catch

(e) }//

向上鍵 執行函式

function

divpre()

else

bonkerlength--;

if (bonkerlength == -1)

else

} catch

(e)

}function

bonkerfunction()

}

前台html檔案

"

-//w3c//dtd xhtml 1.0 transitional//en""

">

"">關鍵字:"

mytext

" type="

text

" />

"button

" value="

搜尋" id="

btnsearch

" onclick="

btnclick();

" />

ajaxhandler.ashx檔案內容

swift中關於智慧型提示的問題

測試環境為xcode7.1.1正式版,本次更新的版本中支援swift2.1,所以語言版本為swift2.1 首先說說在swift中的智慧型提示問題,在開始的版本中如果專案名稱帶有中文的話在專案中是不會有智慧型提示的,只能靠手敲,要不就是不要用中文當做專案名稱。直接上圖可以說的更詳細 比如要定義乙個v...

Sublime text3 的JS智慧型提示外掛程式

用sublime text3寫 有一段時間了,平常寫jquery多一些,jqueryapi都以及熟記在心,手敲完全沒問題 現在寫js發現沒提示有些 都忘了怎麼寫了,只能記得住大概。然後就想要有個智慧型提示看著那提示直接就coding出來了 然後就去搜尋了一下發現倆款外掛程式分別是sublimecod...

js類的操作,修改css,封裝修改類常用函式

通過style屬性來修改元素的樣式,每修改乙個樣式,瀏覽器就需要重新渲染一次頁面 這樣的執行的效能是比較差的,而且這種形式當我們要修改多個樣式時,也不太方便修改box的class屬性 我們可以通過修改元素的class屬性來間接的修改樣式 這樣一來,我們只需要修改一次,即可同時修改多個樣式,瀏覽器只需...