واجهت مؤخرًا مشكلة JS في IE8. أحتاج إلى تنفيذ (IE8) لاستخدام Pinyin أو الحروف الأولى لاسترداد المحتوى في Select. يمكن لـ ComboBox الأصلي أن يدعم فقط إدخال الأحرف الصينية والبحث ، والآن أحتاج إلى تحسينه. الآن سأقوم بتسجيل طريقة التنفيذ خطوة بخطوة. الوظيفة بسيطة ، وقد يكون هناك أخطاء وأوجه القصور للمرجع التعلم. (هذه المقالة توفر فقط تعلم الأفكار والنسخ الاحتياطي. في الموقف الفعلي ، يجب استخدامه في وضع التوافق IE8 أو IE ، لذلك لا تؤخذ المتصفحات الأخرى في الاعتبار)
هيكل الدليل:
امتحان
|-js
|-index.html
أضف في صفحة الفهرس
index.html
<! doctype html> <html> <head> <meta charset = "utf-8"/> </title> <script type = "text/javascript" src = "js/autocomplete id = "txtdisplay"/> <select id = "city"> <option value = "1"> beijing </puints> <option value = "2" <Opture Value = "7"> Shenyang </sption> <Opture Value = "8"> nanjing </sophant> <Opture value = "9"> wuhan </portive> <option value = "10"> changchun </spalue> <torting value = "11" value = "14"> qingdao </sption> <option value = "15"> ajinan </sope> <option value = "16"> xiamen </portive> <opture value = "17"> fuzhou </point >> <option> value> " </html>
التأثير: ابدأ في إخفاء مربع القائمة المنسدلة من SELECT. عند النقر فوق مربع نص الإدخال ، قم بعرضه إلى أسفل مربع الإدخال. بعد الانتهاء من التحديد ، إخفاء الاختيار.
تطبيق JS:
إذا كان للصفحة أماكن متعددة لتنفيذ هذه الوظائف ، فأنت بحاجة إلى استخدام التفكير الموجهة للكائن وإعادة استخدام الكود قدر الإمكان. نحن بحاجة إلى تخصيص مجموعة مثل AP.
AutoCOPTE.JS
خريطة الدالة () { / ** صفيف لتخزين المفاتيح (المستخدمة للتجاوز)* / this.keys = new array () ؛ / ** تخزين البيانات*/ this.data = كائن جديد () ؛ / ** * ضع زوجًا قيمة مفتاح * param {string} مفتاح * param {object} value */ this.put = function (key ، value) {if (this.data [key] == null) {this.keys.push (key) ؛ } this.data [key] = value ؛ } ؛ / ** * احصل على القيمة المقابلة لمفتاح * param {string} مفتاح * regurn {object} value */ this.get = function (key) {return this.data [key] ؛ } ؛ / *** حذف زوج القيمة المفاتيح* param {string} مفتاح*/ this.remove = function (key) {this.keys.remove (key) ؛ this.data [key] = null ؛ } ؛ / ** * اجتياز الخريطة وتنفيذ وظيفة المعالجة * * param {function} وظيفة رد الاتصال (المفتاح ، القيمة ، الفهرس) {..} */ this.each = function (fn) {if (typeof fn! = 'function') {return ؛ } var len = this.keys.length ؛ لـ (var i = 0 ؛ i <len ؛ i ++) {var k = this.keys [i] ؛ fn (k ، this.data [k] ، i) ؛ }} ؛ / *** احصل على صفيف قيمة المفاتيح (على غرار إدخال java ())* RETURN من كائن قيمة المفاتيح {KEY ، value}*/ this.entrys = function () {var len = this.keys.length ؛ إدخال var = صفيف جديد (len) ؛ لـ (var i = 0 ؛ i <len ؛ i ++) {intrads [i] = {key: this.keys [i] ، value: this.data [i]} ؛ } إدخال إدخال ؛ } ؛ / *** حدد ما إذا كانت الخريطة فارغة*/ this.isempty = function () {return this.keys.length == 0 ؛ } ؛ / *** احصل على عدد أزواج القيمة الرئيسية*/ this.size = function () {return this.keys.length ؛ } ؛ / ** * إعادة كتابة toString */ this.toString = function () {var s = "{" ؛ لـ (var i = 0 ؛ i <this.keys.length ؛ i ++ ، s+= '،') {var k = this.keys [i] ؛ s+= k+"="+this.data [k] ؛ } s+= "}" ؛ العودة s ؛ } ؛ } array.prototype.remove = function (s) {for (var i = 0 ؛ i <this.length ؛ i ++) {if (s == this [i]) this.splice (i ، 1) ؛ }}الآن نحتاج إلى كتابة ملف إدخال تحميل البرنامج ، والذي يتم استخدامه لتمرير الإدخال وتحديد الكائنات في ، ثم إجراء سلسلة من العمليات مثل ربط الأحداث.
var expletemap = new map () ؛ // حاوية مكون ، والتي تكون مريحة للاتصال عند قيادة حدث المكون ، ويدعم إدارة متعددة المكونات var splitfleg = "_" ؛ // فاصل/*** مربع نص ، يتم دمج مربع القائمة المنسدلة في مكون إكمال تلقائي* param {object} txtobj كائن مربع TXTOBJ* param {object} selectOBJ drop-down objec selectize ، selectLength) {this.cacheContainer = new Array () ؛ // Cache Container ، المستخدمة لتخزين المحتويات في خيار cachecontainer عندما يتم تحميل الصفحة للتو. this.init = function () {this.initCache () ؛ // بيانات ذاكرة التخزين المؤقت ، ذاكرة التخزين المؤقت لبيانات الخيار إلى cacheContainer this.initcss () ؛ // تهيئة CSS وإخفاء SELECT This.registerEvent () ؛ // register event this.setSelectIdPosition () ؛ // قم بتعيين موقع SELECT // CACHE CATER CATERT لتسهيل المكالمة عند قيادة حدث المكون. في الوقت نفسه ، فإنه يدعم الإدارة المتعددة المكونات التلقائية. // بعد تحديث الواجهة ، اكتب القيمة النصية لمربع المنسدلة للوكالة المباشرة إلى مربع النص var selectIndex = selectObj.SelectedIndex ؛ إذا كان (selectIndex> 0) // يكون المحتوى الأول عمومًا [الرجاء تحديد]. إذا لم يكن كذلك ، قم بتغيير> 0 إلى> = 0 txtobj.value = selectObj.options [selectIndex] .text ؛ } // بيانات تخزين المؤقت وبيانات خيار ذاكرة التخزين المؤقت إلى cachecontainer this.initcache = function () {var select_options = selectObj.options ؛ if (select_options == null || select_options.length == 0) {return ؛ } this.cacheContainer = [] ؛ لـ (var i = 0 ؛ i <select_options.length ؛ i ++) {this.cacheContainer [i] = select_options [i] .text + splitfleg + select_options [i] .value ؛ }} this.initcss = function () {selectObj.style.display = "none" ؛ SelectObj.style.position = "absolute" ؛ SelectObj.style.zindex = 2 ؛ selectObj.style.width = selectLength + "px" ؛ SelectObj.Multiple = "MONITION" ؛ txtobj.style.width = selectLength - 5 + "px" ؛ } this.registerEvent = function () {// srop-down pox event selectObj.ondblclick = this.doubleclickevent ؛ SelectObj.onkeyup = this.keyupevent ؛ SelectObj.onblur = this.onblurevent ؛ selectObj.onfocus = this.onfocusevent ؛ // Text Box event txtobj.onfocus = this.onfocusevent ؛ txtobj.onblur = this.onblurevent ؛ txtobj.onkeyup = this.txtobjkeyupevent ؛ } this.setSelectIdPosition = function () {var position = this.findposition (txtobj) ؛ SelectObj.style.left = position [0] + "px" ؛ SelectObj.style.top = position [3] + 3 + "px" ؛ } this.findposition = function (oElement) {var x2 = 0 ؛ var y2 = 0 ؛ var width = oelement.offsetWidth ؛ var height = oelement.offsetheight ؛ if (typeof (oElement.OffSetParent)! = 'undefined') {for (var posx = 0 ، posy = 0 ؛ oelement ؛ oelement = oelement.offsetParent) {posx += oelement.offsetleft ؛ posy += oelement.offsettop ؛ } x2 = posx + width ؛ y2 = posy + الارتفاع ؛ العودة [posx ، posy ، x2 ، y2] ؛ } آخر {x2 = oelement.x + width ؛ y2 = oelement.y + الارتفاع ؛ return [oelement.x ، oelement.y ، x2 ، y2] ؛ }} . ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- = AutoCompletEmap.get (txtobj.id + selectObj.id) ؛ if (event.keycode == 13) {event.ReturnValue = false ؛ var srcelem = document.activeElement ؛ // احصل على الكائن المركز حاليًا var testval = srcelem.id ؛ if (testval == selectObj.id) {autocomplete.doubleclickevent () ؛ }}} / *** الحدث التركيز* / this.onblurevent = function () {var srcelem = document.activeElement ؛ var testval = srcelem.id ؛ if (testval! = selectObj.id && testval! = txtobj.id) {// إذا لم يتم التركيز على مربع الإدخال الحالي أو القائمة المحددة ، selectobj.style.display = "none" ؛ // إخفاء قائمة التحديد}}/*** FOCUS EVENT*/this.onfocusevent = function () {var explete = autocompletemap.get (txtobj.id + selectobj.id) ؛ explete.setselectidposition () ؛ var srcelem = document.activeElement ؛ var testval = srcelem.id ؛ if (testval == selectObj.id || testval == txtobj.id) {// ركز على الكائن الحالي إذا (txtobj.value.length! = 0) {// عندما تكون هناك أحرف في مربع الإدخال ، لا يتم إجراء أي عملية ؛ } var selectIdLength = selectObj.options.length ؛ if (selectIdLength> selectize) {selectObj.size = selectSize ؛ } آخر {selectObj.size = selectIdLength ؛ } selectobj.style.display = "block" ؛ }} var myTimeOut = null ؛ / ** * يركز الماوس مربع النص على حدث الإصدار ، وضبط مؤقتًا ، وقم بتنفيذ الوظيفة في كل وقت محدد ، واستعل بيانات قائمة التحديد المطابقة في مربع الإدخال وعرضها */ this.txtobjkeyupevent = function () {var autocomplete = autocompletemap.get (txtobj.id + selectobj.id) ؛ if (event.keycode == 40) {// انقر فوق مفتاح سهم لوحة المفاتيح في مربع الإدخال ، وليس هناك حاجة للبحث في هذا الوقت. يتم تشغيل حدث البحث عند الإدخال var srcelem = document.activeElement ؛ var testval = srcelem.id ؛ if (testval == txtobj.id) {selectObj.focus () ؛ if (selectObj.options.length> = 1) selectObj.options [0] .selected = true ؛ } يعود؛ } if (autocomplete.mytimeout! = null) {// قم بمسح مجموعة التنفيذ المحددة clearTimeOut (autocomplete.mytimeout) ؛ } autocomplete.mytimeout = setTimeout (autocomplete.doajax ، 200) ؛ }. {var explete = autocompletemap.get (txtobj.id + selectObj.id) ؛ // قم بمسح الخيارات الأصلية owplete.clearalloptions () ؛ explete.setselectidposition () ؛ var inputStr = txtobj.value ؛ var arrays = Autocomplete.compareInput (inputStr) ؛ // تناسب البيانات التي تلبي شروط الاستعلام if (arrays == null || arrays.length == 0) {selectObj.style.display = "none" ؛ يعود؛ } selectobj.style.display = "block" ؛ لـ (var i = 0 ؛ i <arrays.length ؛ i ++) {var eptorsparams = arrays [i] .split (splitfleg) ؛ var opt = new Option () ؛ opt.text = potortparams [0] ؛ opt.value = pointerParams [1] ؛ SelectObj.add (OPT) ؛ } if (arrays.length> selectize) {selectObj.size = selectSize ؛ } آخر {selectObj.size = arrays.length ؛ }} / ** * قم بمسح الخيارات الأصلية * / this.clearalloptions = function () {// مسح الخيارات الأصلية var nl = selectObj.options.length ؛ بينما (nl> 0) {selectObj.remove (selectObj.options.length - 1) ؛ nl = selectobj.options.length ؛ }} // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ this.compareinput = function (inputStr) {if (this.cacheContainer.length == 0) {return ؛ } inputStr = inputStr.replace (/(^[/s]*)/g ، "") ؛ // قم بإزالة السلسلة الفارغة في inputStr = this.deletespecialspace (inputStR) ؛ // قم بإزالة السلسلة الفارغة الخاصة if (inputStr == null || inputStr.Length == 0) {return this.cacheContainer ؛ } inputStr = upiSpecialCharacter (inputStr) ؛ // معالجة الأحرف الخاصة var resultarray = new array () ؛ var k = 0 ؛ var selectText = "" ؛ لـ (var i = 0 ؛ i <this.cacheContainer.length ؛ i ++) {selectText = (this.cacheContainer [i] .split (splitfleg) [0]). استبدال (/(^[/s]*)/g ، ") ؛ selectText = this.deletespecialspace (selectText) ؛ if (المقارنات (inputStr ، selectText)) {// match rule resultarray [k] = this.cacheContainer [i] ؛ K ++ ؛ }} إرجاع uniquearray (resultRay) ؛ } / *** إزالة سلسلة فارغة خاصة* / this.deletespecialspace = function (srcstr) {var temp = "" ؛ لـ (var i = 0 ؛ i <srcstr.length ؛ i ++) {var charstr = srcstr.charat (i) ؛ . } temp += charstr ؛ } درجة حرارة العودة ؛ }}/*** param {string} أحرف إدخال تحتاج إلى ترشيح* معالجة الأحرف الخاصة*/الوظيفة disableSpecialCaracter (inputStr) {inputStr = inputStR.Replace (new regexp ("////" ، 'g') ، "////") ؛ inputStr = inputstr.replace (regexp جديد ("//." ، 'g') ، "//.") ؛ inputStr = inputstr.replace (جديد regexp ("//^" ، 'g') ، "//^") ؛ inputStr = inputStR.Replace (new regexp ("// {" ، 'g') ، "// {") ؛ inputStr = inputstr.replace (regexp جديد ("// [" ، 'g') ، "// [") ؛ inputStr = inputStr.replace (regexp جديد ("// (" ، 'g') ، "// (") ؛ inputStr = inputStr.replace (regexp جديد ("// |" ، 'g') ، "// |") regexp ("//]" ، "G ') ،" //] ") ؛ inputStr = inputstr.replace (regexp جديد ("//*" ، 'g') ، "//*") ؛ inputStr = inputstr.replace (regexp جديد ("//+" ، 'g') ، "//+") ؛ inputStr = inputstr.replace (regexp جديد ("//؟" ، 'g') ، "//؟") ؛ إرجاع إدخال } /*** قواعد المطابقة* param {string} inportstr inport carher ، تطابق الشرط* param {string} selecttext مطابقة مع نص* /وظيفة مقارنات (inputStr ، selectext) {// تطابق الأحرف الصينية إرجاع selecttext.indexof (inputStstr)! = -1 ؛ } / *** مرشح بيانات مكررة* param {object} arr array array* / function uniquearray (arr) {if (arr == null || arr.length == 0) {return arr ؛ } return arr.reverse (). } / *** أضف وظيفة مخصصة لتنفيذها على Onload Onload* param {Object} func loading function* / function addLoadEvent (func) {var oldonload = window.onload ؛ if (typeof window.onload! = 'function') {window.onload = func ؛ } آخر {window.onload = function () {oldonload () ؛ func () ؛ }}}}تقديم أداة JS لتحويل الأحرف الصينية إلى Pinyin
بينينهانزي
/ ** * تحويل الرجل إلى Pinyin Tool JS */ var key2Code = {65: "A" ، 66: "B" ، 67: "C" ، 68: "D" ، 69: "E" ، 70: "F" ، 71: "G" ، 72: "H" ، 73: "I" ، 74: "J" "N" ، 79: "O" ، 80: "P" ، 81: "Q" ، 82: "R" ، 83: "S" ، 84: "T" ، 85: "u" ، 86: "5" ، 54: "6" ، 55: "7" ، 56: "8" ، 57: "9" ، 48: "0"} ؛ var spell = {0xb0a1: "a" ، 0xb0a3: "ai" ، 0xb0b0: "an" ، 0xb0b9: "ang" ، 0xB0BC: "Bao" ، 0xB1ad: "Bei" ، 0xB1BC: "Ben" ، 0xb1c0: "Beng" ، 0xB1C6: "BI" ، 0xB1de: "bo" ، 0xb2b8: "bu" ، 0xb2c1: "ca" ، 0xb2c2: "cai" ، 0xb2cd: "can" ، 0xb2d4: "chai" ، 0xb2f3: "chan" ، 0xb2fd: "Chang" ، 0xB3ac: "Chao" ، 0xB3B5: "Che" ، 0xB3BB: "chu" ، 0xb4a7: "chuai" ، 0xb4a8: "chuan" ، 0xb4af: "chuang" ، 0xB4b5: "chui" ، 0xb4ba: 0xb4d6: "Cu" ، 0xB4da: "Cuan" ، 0xB4dd: "Cui" ، 0xB4e5: "CUN" ، 0xB4e8: "Cuo" ، 0xB4E: "DA" ، 0xB4f4: "Dai" ، 0xB5a2: "dao" ، 0xb5c2: "de" ، 0xb5c5: "deng" ، 0xb5cc: "di" ، 0xb5df: "dian" ، 0xb5ef: "dou" ، 0xb6bc: "du" ، 0xb6cb: "duan" ، 0xb6d1: "dui" ، 0xb6d5: "dun" ، 0xb6de: 0xb7bb: "fang" ، 0xb7c6: "fei" ، 0xb7d2: "fen" ، 0xb7e1: "feng" ، 0xb7f0: "fo" ، 0xb7f1: 0xb8d4: "Gang" ، 0xb8dd: "Gao" ، 0xB8E7: "GE" ، 0xB8F8: "GEI" ، 0xB8F9: "Gen" ، 0xB8FB: "Gen" ، 0xB9A4: "Gong" 0xb9d4: "Guai" ، 0xB9d7: "Guan" ، 0xb9e2: "Guang" ، 0xB9E5: "GUI" ، 0xB9f5: "Gun" ، 0xB9F8: "Guo" ، 0xB9fe: 0xbabe: "hao" ، 0xbac7: "He" ، 0xbad9: "Hei" ، 0xbadb: "Hen" ، 0xbadf: "Heng" ، 0xbae4: "Hua" ، 0xBBC4: "Huang" ، 0xbbd2: "Hui" ، 0xBBE7: "Hun" ، 0xBbed: "Huo" ، 0xBBF7: 0xbdd2: "jie" ، 0xbded: "jin" ، 0xbea3: "Jing" ، 0xbebc: "Jiong" ، 0xbe: "kai" ، 0xbfaf: "kan" ، 0xbfb5: "Kang" ، 0xBFBC: "Kao" ، 0xBFC0: "ke" ، 0xbfcf: 0xbfdd: "ku" ، 0xbfe4: "kua" ، 0xbfe9: "kuai" ، 0xbfed: "kuan" ، 0xbfef: "lai" ، 0xc0b6: "lan" ، 0xc0c5: "lang" ، 0xc0cc: "lao" ، 0xc0d5: "le" ، 0xc0d7: "Liang" ، 0xc1c3: "Liao" ، 0xc1d0: "Lie" ، 0xC1D5: "Lin" ، 0xc1e1: "ling" ، 0xc1ef: "liu" ، 0xc1fa: "Luan" ، 0xc2d3: "lue" ، 0xc2d5: "lun" ، 0xc2dc: "luo" ، 0xc2e8: "ma" ، 0xc2f1: "mai" ، 0xc2f7: 0xc3b5: "mei" ، 0xc3c5: "men" ، 0xc3c8: "meng" ، 0xc3d0: "mi" ، 0xc3de: "miu" ، 0xc3fe: "mo" ، 0xc4b1: "mou" ، 0xc4b4: "mu" ، 0xc4c3: "na" ، 0xc4ca: "nei" ، 0xc4db: "nen" ، 0xc4dc: "neng" ، 0xc4dd: "ni" ، 0xc4e8: 0xc5a3: "niu" ، 0xc5a7: "nong" ، 0xc5ab: "nu" ، 0xc5ae: "nv" ، 0xc5af: "nuan" ، 0xc5b0: "nue" ، 0xc5b2: 0xc5c4: "pai" ، 0xc5ca: "pan" ، 0xc5d2: "pang" ، 0xc5d7: "pao" ، 0xc5de: 0xc6b2: "PIE" ، 0xC6B4: "pin" ، 0xc6b9: "ping" ، 0xc6c2: "po" ، 0xc6cb: "pu" ، 0xc6da: 0xc7d0: "Qie" ، 0xc7d5: "Qin" ، 0xc7e0: "Qing" ، 0xc7ed: "qiong" ، 0xc7ef: "qiu" ، 0xc7f7: "qun" ، 0xc8a6: 0xc8bf: "Rang" ، 0xC8C4: "Rao" ، 0xc8c7: "re" ، 0xc8c9: "ren" ، 0xc8d3: "reng" ، 0xc8d5: 0xc8ef: "rui" ، 0xc8f2: "Run" ، 0xc8f4: "Ruo" ، 0xc8f6: "SA" ، 0xC8F9: "Sai" ، 0xC8FD: "San" ، 0xC9A3: "Sang" ، 0xc9a6: 0xc9ae: "seng" ، 0xc9af: "sha" ، 0xc9b8: "shai" ، 0xc9ba: 0xcad5: "shou" ، 0xcadf: "shu" ، 0xcba2: "shua" ، 0xcba4: "shuai" ، 0xcba8: "أغنية" ، 0xcbd1: "sou" ، 0xcbd4: "su" ، 0xcbe1: "suan" ، 0xcbe4: "sui" ، 0xcbef: "sun" ، 0xcbf2: 0xccd: "tao" ، 0xccd8: "te" ، 0xccd9: "Teng" ، 0xccdd: "ti" ، 0xccec: "tian" ، 0xccf4: "tiao" ، 0xccf9: 0xcdb9: "tu" ، 0xcdc4: 0xcdc6: "tui" ، 0xcdcc: "tun" ، 0xcdcf: "tuo" ، 0xcdda: "wen" ، 0xcecb: "weng" ، 0xcece: "wo" ، 0xced7: "wu" ، 0xCEF4: "XI" ، 0xcfb9: "Xie" ، 0xD0BD: "Xin" ، 0xD0C7: "Xing" ، 0xD0D6: "Xiong" ، 0xD0DD: "xiu" ، 0xd0e6: 0xd1c9: "yan" ، 0xd1ea: "yang" ، 0xd1fb: "yao" ، 0xd2ac: "ye" ، 0xd2bb: "yi" ، 0xd2f0: 0xd3d9: "yu" ، 0xd4a7: "yuan" ، 0xd4bb: "yue" ، 0xd4c5: "yun" ، 0xd4d1: "za" "ze" ، 0xd4f4: "zei" ، 0xd4f5: "zen" ، 0xd4f6: "zeng" ، 0xd4fa: "zha" ، 0xd5aa: 0xd5e4: "Zhen" ، 0xd5f4: "Zheng" ، 0xd6a5: "Zhi" ، 0xd6d0: "Zhong" ، 0xd6db: "Zhuan" ، 0xd7ae: "Zhuan" ، 0xd7b5: "Zhui" ، 0xd7bb: "Zhun" ، 0xd7bd: "Zuan" ، 0xD7ec: "Zui" ، 0xd7f0: "Zun" ، 0xD7f2: "Zuo"} ؛ var spellarray = new array () ؛ var pn = "" ؛ وظيفة pinyin (char) {if (! char.charcodeat (0) || char.charcodeat (0) <1328) return char ؛ if (spellarray [char.charcodeat (0)]) return spellarray [char.charcodeat (0)] execscript ("asccode = hex (/" + char + "/")) ، "vbscript") ؛ Asccode = eval ("0x" + asccode) ؛ if (! (Asccode> 0xb0a0 && asccode <0xd7f3)) return char ؛ لـ (var i = asccode ؛ (! spell [i] && i> 0) ؛) i-- ؛ تعويذة العودة [i] ؛ } وظيفة topinyin (str) {var pstr = "" for (var i = 0 ؛ i <str.length ؛ i ++) {if (str.charat (i) == "/n") pstr += "<br>" "</rt> </rouby>" // else pstr + = pinyin (str.charat (i)) + ""} return pstr ؛ } وظيفة topinyinonly (str) {var pstr = "" for (var i = 0 ؛ i <str.length ؛ i ++) {if (str.charat (i) == "/n") pstr += "<br>" pstr += pinyin (str.charat (i)) ؛ // pstr + = "" + pinyin (str.charat (i)) ؛ // else pstr + = pinyin (str.charat (i)) + ""} return pstr ؛ } وظيفة topinyinshengmu (str) {var pstr = "for (var i = 0 ؛ i <str.length ؛ i ++) {if (str.charat (i) =="/n ") pstr+=" "؛ آخر pstr += pinyin (str.charat (i)). charat (0) ؛ // else pstr + = pinyin (str.charat (i)) + ""} return pstr ؛ } وظيفة pinyinsort (a ، b) {var rvalue = 0 for (var i = 0 ؛ i <a.length ؛ i ++) {var pina = pinyin (a.charat (i)) var pinb = pinyin ( عرض شظايا رمز عرض النسخ العادي المشتقة إلى شظايا الكود الخاصة بي على الكود <! doctype html> <html> <head> <meta charset = "utf-8"> <title> </title> <script type = "text/javaScript" src = "js/autocplete.js src = "js/pinyinhanzi.js"> </script> <script type = "text/javaScript"> // custom rules comparles (inputStr ، selectText) {// match charachs insovals و pinyin return selecttext.indexof (inputStstr)! = -1 || topinyinshengmu (SelectText) .indexof (inputStr)! = -1 || topinyinonly (selectText) .indexof (inputStr)! = -1 ؛ } addLoadEvent (func) ؛ دالة func () {var textObj = document.getElementById ("txtDisplay") ؛ var cityobj = document.getElementById ("City") ؛ var explete = new AutoCofment (textobj ، cityobj ، 10 ، 300) ؛ outoCOPTE.INIT () ؛ } </script> </head> <body> <input type = "text" id = "txtdisplay"/> <select id = "city"> <option value = "1"> beijing </spults> <tort value = "6"> tianjin </portive> <option value = "7"> shenyang </portive> <option value = "8" value = "13"> hangzhou </portive> <option value = "14"> qingdao </sope> <option value = "15"> jinan </portive> <option value = "16"> xiamen </puittre> <torting value = "17" value = "20"> harbin </soph> </select> </body> </html>ملاحظة: يحتوي هذا الإصدار على بعض الأخطاء وعدم التوافق مع المتصفحات الأخرى (باستثناء الثالث).
ما سبق هو المعرفة ذات الصلة التي تم تقديمها لك حول JS تنفيذ وظيفة استرجاع Pinyin Pinyin على IE8. آمل أن يكون ذلك مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!