ส่งเอกสารจาวาสคริปต์ ส่ง JavaScript Sub onclick javaScript และสามวิธีในการประมวลผล sub
Tipi Podіy
ในช่วงเริ่มต้นของการพัฒนาเว็บของ All-World ผู้ค้าปลีกบนเว็บมีอินพุตเพียงเล็กน้อย: "โหลด", "คลิก", "วางเมาส์" และอื่นๆ เบราว์เซอร์ทั้งหมดรองรับประเภทเก่าเหล่านี้เป็นอย่างดี โลกของการพัฒนาแพลตฟอร์มเว็บก่อนที่จะมีอินเทอร์เฟซแอปพลิเคชันขั้นสูงมากขึ้น และจำนวนแอปพลิเคชันก็เพิ่มขึ้น ไม่เป็นไปตามมาตรฐานซึ่งเป็นพื้นฐานสำหรับการสรรหาพ็อดใหม่ และจำนวนพ็อดที่ได้รับการปรับปรุงให้ดีขึ้นอย่างรวดเร็ว Qi new podіїมีการลงนามที่ dzherelakh สองแห่ง:
ข้อมูลจำเพาะของเหตุการณ์ DOM ระดับ 3 หลังจากซบเซามาเป็นเวลานาน เริ่มได้รับการพัฒนาอย่างแข็งขันภายใต้กลุ่ม W3C
การไม่มีอินเทอร์เฟซแอปพลิเคชันใหม่ในข้อกำหนด HTML5 (และในข้อกำหนดภาคผนวกที่เกี่ยวข้อง) กำหนดส่วนย่อยใหม่ซึ่งได้รับชัยชนะ เช่น สำหรับการทำความเข้าใจประวัติของการแนะนำโดยกลไกการลากและวาง (ลากและ- drop ) การแลกเปลี่ยนข้อมูลระหว่างเอกสารและการแกะสลักคลิปเสียงและวิดีโอ
เผยให้เห็นว่าชุดชั้นในประเภทใหม่ๆ จำนวนมากยังไม่ได้ถูกนำไปใช้โดยมาตรฐานในวงกว้าง และกำลังถูกนำไปใช้โดยมาตรฐานต่างๆ เนื่องจากยังอยู่ในขั้นตอนการออกแบบ มาเลย หากคุณมักจะปรากฏในส่วนเสริมของเว็บของคุณ ให้เริ่มจัดอยู่ในหมวดหมู่ของเบราว์เซอร์ที่รู้จักกันมานานและได้รับการสนับสนุน: tse podії สำหรับหุ่นยนต์ที่มีเมาส์ แป้นพิมพ์ รูปแบบ HTML และวัตถุ หน้าต่าง. Qi podіїเราดู
ส่งเอกสารยื่น
เว็บzastosunkіvเพิ่มเติมเป็นสิ่งจำเป็นอย่างยิ่งเพื่อที่เว็บเบราว์เซอร์จะแจ้งให้พวกเขาทราบเกี่ยวกับช่วงเวลาที่เอกสารมีมากกว่าและจะพร้อมสำหรับการดำเนินการ Tsіy meti เพื่อให้บริการpodіya โหลดในวัตถุหน้าต่าง โหลด Podiya จะถูกทำลายหลังจากนั้นเช่นเดียวกับเอกสาร รูปภาพทั้งหมดจะน่าสนใจยิ่งขึ้น อย่างไรก็ตาม สคริปต์การโทรสามารถเรียกใช้ได้ทันทีที่แยกวิเคราะห์เอกสาร ก่อนที่รูปภาพจะถูกจับภาพ เป็นไปได้ที่จะใช้เวลาหนึ่งชั่วโมงในการรันโปรแกรมเว็บ เพื่อที่คุณจะได้เริ่มพิมพ์สคริปต์สำหรับพ็อดที่ควบคุมโหลด
โพเดีย โหลดเนื้อหา DOM แล้วคาดว่าทันทีที่เอกสารถูกจับ แยกวิเคราะห์โดยโปรแกรมแยกวิเคราะห์ และการส่งสคริปต์ทั้งหมดจะได้รับการตรวจสอบ จนถึงจุดนี้ในรูปภาพ สคริปต์เหล่านั้นที่มีแอตทริบิวต์ async อาจดำเนินการต่อไป แต่ตัวเอกสารจะยังคงพร้อมก่อนที่การดำเนินการจะเสร็จสมบูรณ์ podia นี้เปิดตัวครั้งแรกใน Firefox และถูกผลักดันโดยผู้ผลิตเบราว์เซอร์รายอื่นทั้งหมดรวมถึง Microsoft Corporation เนื่องจากได้เพิ่ม podtrip ลงใน IE9 โดยไม่คำนึงว่าคำนำหน้า DOM ในชื่อนั้นไม่ได้เป็นส่วนหนึ่งของมาตรฐานโมเดลเหตุการณ์ DOM ระดับ 3 แต่เป็นมาตรฐานตามข้อกำหนด HTML5
ค่าของสิทธิ์ document.readyState มีการเปลี่ยนแปลงภายใต้ชั่วโมงที่ได้รับเอกสาร การเปลี่ยนสกินของค่าพลังงานใน IE นั้นมาพร้อมกับ readystatechange ในวัตถุ Document ทำไมใน IE จึงสามารถเปลี่ยนได้ในขณะที่ฉันปรากฏขึ้น ฉันจะเสร็จสมบูรณ์ ข้อกำหนด HTML5 กำหนดมาตรฐานของโดเมนย่อย พร้อมเปลี่ยนสถานะแต่มีโทษโดยโยคะ zbudzhuvati โดยไม่มีคนกลางก่อนโหลด ฉันไม่เข้าใจว่าทำไมจึงจำเป็นต้องยอมรับการเปลี่ยนแปลงสถานะพร้อมก่อนโหลด
แอปพลิเคชันด้านล่างมีฟังก์ชัน whenReady() ฟังก์ชันที่ส่งผ่านไปยังฟังก์ชัน whenReady() จะถูกเรียกใช้ (เป็นเมธอดของ Document object) เมื่อเอกสารพร้อมก่อนที่การดำเนินการจะสิ้นสุดลง เมื่อพร้อม () ตรวจสอบลักษณะที่ปรากฏของส่วนย่อย DOMContentLoaded และ readystatechange และส่วนย่อยโหลดเท่านั้นที่เป็นตัวเลือกสำรอง เนื่องจากจะไม่ทำงานในเบราว์เซอร์รุ่นเก่า เนื่องจากไม่สนับสนุนส่วนย่อยสองส่วนแรก ฟังก์ชัน whenReady() พร้อมใช้งานในบางสถานการณ์ถัดไป:
/* ส่งฟังก์ชันของคุณไปยังฟังก์ชัน whenReady() และจะมี (เป็นเมธอดของวัตถุเอกสาร) เพื่อให้การแยกวิเคราะห์เอกสารเสร็จสมบูรณ์และจะพร้อมก่อนที่การดำเนินการจะเสร็จสิ้น ฟังก์ชันที่ลงทะเบียนไว้จะถูกเรียกใช้เมื่อซับแรกคือ DOMContentLoaded, readystatechange หรือ load ทันทีที่เอกสารพร้อมและฟังก์ชันทั้งหมดจะถูกเรียกใช้ ifReady() จะไม่เรียกฟังก์ชันทั้งหมดที่ส่งผ่าน */ var whenReady = (function() ( // ฟังก์ชันนี้หมุนโดยฟังก์ชัน whenReady() var funcs = ; // ฟังก์ชันที่ควรจะเรียกใช้สำหรับการคลิกย่อย var ready = false; // ลบค่าจริง เมื่อฟังก์ชันถูกเรียก ตัวจัดการ // ตัวอย่างย่อย ซึ่งถูกเรียก เช่นเดียวกับเอกสาร // จะพร้อมก่อนสิ้นสุดการทำงานของตัวจัดการฟังก์ชัน (e) ( // หากเรียกกลับแล้ว ให้หมุนปุ่มควบคุม if (ready) return; like "complete" หมายถึงเอกสารยังไม่พร้อม if (e.type==="readystatechange" && document.readyState !== "complete") return;// เรียกใช้ฟังก์ชันที่ลงทะเบียนทั้งหมดครั้งเดียว มีการตรวจสอบค่าของ // กำลังของ funcs.length ราวกับว่าหนึ่งในฟังก์ชันที่เรียกว่า // ลงทะเบียนฟังก์ชันเพิ่มเติม for(var i = 0; i
มาหมี
จากหมีมันถูกมัดด้วยแท่น chimalo กลิ่นเหม็นทั้งหมดแสดงอยู่ในตารางด้านล่าง ทั้งหมดภายใต้เมาส์ รอบ mouseenter และ mouseleave ผสาน สำหรับการคลิกซึ่งมีตำหนิบนปุ่มสำหรับแก้ไขแบบฟอร์ม พวกมันจะถูกส่งต่อไปยังแม่กุญแจอย่างที่คุณพูด ในทางทฤษฎี เป็นไปได้ที่จะระบุเมนูย่อยของเมนูบริบทและหลีกเลี่ยงการปรากฏของเมนูบริบท มิฉะนั้น เบราว์เซอร์สามารถตั้งค่าพารามิเตอร์ เพื่อไม่ให้มองเห็นเมนูย่อยได้
พิมพ์ | คำอธิบาย |
---|---|
คลิก | High podia ซึ่งจะตื่นขึ้นหาก coristuvach กดที่ปล่อยปุ่มเมาส์ หรือเปิดใช้งานองค์ประกอบ |
เมนูบริบท | Podіyu, สิ่งที่ต้องถาม, สิ่งที่ต้องปลุกก่อนที่เมนูบริบทจะปรากฏขึ้น เบราว์เซอร์ปัจจุบันแสดง เมนูบริบทโดยคลิกที่ปุ่มขวาของเมาส์ คุณก็สามารถร้องเพลงได้เช่นกัน โพเดียคลิก. |
dblclick | เป็นเรื่องที่น่าตกใจหาก coristuvach ชนะเสียงดัง |
เมาส์ลง | อารมณ์เสียหาก coristuvach กดปุ่มเมาส์ |
เลื่อนเมาส์ | อารมณ์เสียถ้า coristuvach ปล่อยปุ่มของเมาส์ |
เลื่อนเมาส์ | มันจะหักถ้า koristuvach ย้ายผู้ดูแลหมี |
เลื่อนเมาส์ไป | Porushuetsya ถ้านายหญิงของเมาส์แผ่กระจายไปทั่วองค์ประกอบ ผู้มีอำนาจที่เกี่ยวข้องกับเป้าหมาย (หรือองค์ประกอบใน IE) กำหนดองค์ประกอบที่ย้ายเป้าหมาย |
เม้าส์เอาท์ | จะไม่พอใจถ้าเป้าหมายของเมาส์ครอบงำองค์ประกอบ พลังของเป้าหมาย (หรือองค์ประกอบใน IE) กำหนดองค์ประกอบที่ตัวบ่งชี้เมาส์เคลื่อนที่ |
เมาส์ป้อน | คล้ายกับการเลื่อนเมาส์ แต่อย่าผสาน ปรากฏครั้งแรกใน IE และถูกกำหนดมาตรฐานโดย HTML5 แต่ยังไม่รองรับเบราว์เซอร์ทั้งหมด |
เมาส์ลีฟ | เช่นเดียวกับ mouseout แต่อย่ารวมกัน ปรากฏครั้งแรกใน IE และถูกกำหนดมาตรฐานโดย HTML5 แต่ยังไม่รองรับเบราว์เซอร์ทั้งหมด |
วัตถุที่ส่งต่อไปยัง obrobniks ภายใต้ชื่อเมาส์อาจมีพลัง ลูกค้าเอ็กซ์і ลูกค้ายพิกัดเริ่มต้นของตัวบ่งชี้แสดงว่าดีเพียงใด ในการแปลงเป็นพิกัดของเอกสารจำเป็นต้องเพิ่มตำแหน่งของหน้าต่างหมุนวนเข้าไป
พลัง altKey, ctrlคีย์, เมตาคีย์і shiftKey vyznachayut กลายเป็นตัวดัดแปลงคีย์ที่แตกต่างกัน yakіสามารถ utrimuvatisya ในค่ายกดในขณะที่ subії: s їх นอกจากนี้คุณยังสามารถเพิ่มเสียงกระทบกันง่ายๆเช่นเสียงกระทบกันด้วยการกดแป้น Shift เป็นต้น
พลัง ปุ่ม vyznaє, เหมือนปุ่มของเมาส์ถูกทำให้อ่อนลงที่สถานีในขณะที่ส่ง. อย่างไรก็ตาม เบราว์เซอร์ที่แตกต่างกันจะบันทึกพลังของค่าต่างๆ กัน ดังนั้นจึงง่ายต่อการค้นหาด้วยวิธีแบบพกพา
เบราว์เซอร์Deyakі zbudzhuyut podіyu คลิกน้อยลงที่ด้านบนของเสียงกระทบกันของปุ่มซ้าย ในการทำเช่นนั้น เนื่องจากจำเป็นต้องส่งเสียงดังด้วยปุ่มอื่นๆ ให้ทำตามจังหวะที่หนูล้มลง เมนูบริบทของPodіyazvіdіzuєเกี่ยวกับ scho scho vykonano ที่ส่งเสียงดังด้วยปุ่มขวา, เอล, ตามที่ตั้งใจไว้มากกว่า, ในตำราเรียนtsієї podії ไม่ใช่ zavzhli คุณสามารถลืมรูปลักษณ์ของเมนูบริบทได้
ในแอปพลิเคชันด้านล่าง ฟังก์ชันการลาก () แสดงให้เห็น เพื่อให้เมื่อคลิกเมาส์ดาวน์ เมาส์จะลากองค์ประกอบที่อยู่ในตำแหน่งแน่นอนของเอกสาร ฟังก์ชัน drag() ใช้งานได้กับทั้งสองรุ่น ได้แก่ DOM และ IE
ฟังก์ชัน drag() รับสองอาร์กิวเมนต์ ประการแรกคือองค์ประกอบที่ถูกดึงเข้ามา คุณยังสามารถใช้องค์ประกอบในลักษณะที่ vinicla เป็น podia ซึ่งเลื่อนลงมาและล้างแค้นองค์ประกอบนี้ (ตัวอย่างเช่น คุณสามารถให้ความสามารถแก่ coristuvachev ในการจัดเก็บองค์ประกอบที่ดูเหมือนชื่อเรื่องของหน้าต่าง และดึง องค์ประกอบ yogo ซึ่งดูเหมือนหน้าต่าง ) อย่างไรก็ตาม ไม่ว่าด้วยเหตุผลใดก็ตาม อาจมีองค์ประกอบของเอกสารที่อยู่ในตำแหน่งที่แน่นอน ช่วย CSSแอตทริบิวต์ตำแหน่ง ข้อโต้แย้งอีกประการหนึ่งคือวัตถุประสงค์ของการดำเนินการ การลบออกจากการดำเนินการ ซึ่งควรมา:
/* ลาก () - ลากองค์ประกอบ HTML ในตำแหน่งที่แน่นอน ฟังก์ชั่น Tsya มีความผิดของ viklikatisya z obroblyuvacha podії naobsyag ฝีเท้าของเป้าหมายสามารถเรียกให้องค์ประกอบที่กำหนดเคลื่อนไหวได้ Mouseup จะเสร็จสิ้นการเคลื่อนไหว Tsya ตระหนักถึงdієในทั้งสองรุ่นpodіy, มาตรฐานและ IE ฟังก์ชันชัยชนะ getScrollOffsets() อาร์กิวเมนต์: elementToDrag: องค์ประกอบที่หลังจากยอมรับส่วนย่อยแล้ว จะเลียนแบบหรือลบองค์ประกอบนั้น องค์ประกอบนี้เป็นโทษสำหรับตำแหน่งที่แน่นอนของมารดา ค่าของทั้งสิทธิ์ style.left และ style.top จะเปลี่ยนไปเมื่อเคอร์เซอร์ถูกเลื่อนด้วยเมาส์ เหตุการณ์: วัตถุเหตุการณ์ซึ่งตัวอย่างถูกนำออกไปซึ่งเราผ่านไป */ function drag(elementToDrag, event) ( // แปลงพิกัดเว็บเบราว์เซอร์ของเมาส์เป็นพิกัดเอกสาร var scroll = getScrollOffsets(); // ฟังก์ชันเพิ่มเติม แสดงด้านล่าง var startX = event.clientX = scroll.x; var start clientY + scroll .y;// พิกัดรูท (ตามด้านบนของเอกสาร) ขององค์ประกอบที่ // จะถูกย้าย i indicator mouse.var deltaX = startX - origX; submove mousemove และ mouseup, // วิธีติดตาม submove mousedown.if (document.addEventListener) ( // โมเดลย่อยมาตรฐาน // ลงทะเบียนตัวจัดการการเปลี่ยนแปลงในเอกสาร document.addEventListener("mousemove", moveHandler , true); document.addEventListener("mouseup", upHandler, true); ) อื่นถ้า (document.attachEvent) ( // โมเดลย่อย IE สำหรับ IE5-8 ) elementToDrag.setCapture(); elementToDrag.attachEvent("onmouseup", moveHandler), elementToDrag.attachEvent("onmouseup", upHandler); // ตีความค่าใช้จ่ายในการวางเมาส์เป็น drop .stopPropagation) event.stopPropagation(); // เหตุการณ์เริ่มต้นรุ่นอื่น cancelBubble = จริง; // IE // ยกโทษให้ viconan dіyโอนใจ ถ้า (event.preventDefault) เหตุการณ์.preventDefault(); // โมเดลมาตรฐานอื่น event.returnValue = เท็จ; // IE /* wrapper นี้คัดลอกตามวิธีการย้ายตำแหน่งที่ถูกตำหนิในกระบวนการลากองค์ประกอบ Vіnvіdpovіdaєสำหรับ ruh ขององค์ประกอบ */ function moveHandler(e) ( if (!e) e = window.event; // IE submodel // ย้ายองค์ประกอบที่ตำแหน่งของตัวจัดการของเมาส์ไปยังตำแหน่งที่ถูกต้อง // เลื่อนตำแหน่งนั้นเล็กน้อยเหมือนการคลิกซัง var scroll = getScrollOffsets( ), elementToDrag.style.left = (e.clientX + scroll.x - deltaX) + "px"; elementToDrag.style.top = (e.clientY + scroll.y - deltaY) + "px"; // І แยกส่วนขยายย่อยออก if (e.stopPropagation) e.stopPropagation(); // โมเดลมาตรฐานอื่น e.cancelBubble = จริง; // IE ) /* ฉันจะห่อตัวจัดการนี้ด้วย mouseup ย่อยเพื่อดำเนินการลากให้เสร็จสมบูรณ์ */ function upHandler(e) ( if (!e) e = window.event; // IE Pod Model // Visible Upslope Pod Handlers. if (document.removeEventListener) ( // Pod DOM Model document.removeEventListener("mouseup" ) , upHandler จริง); "onmouseup", upHandler); elementToDrag.detachEvent("onmousemove", moveHandler); elementToDrag.releaseCapture(); ) // ฉันขัดจังหวะการขยายด้านล่างเพิ่มเติม e.cancelBubble = จริง; // IE ) ) // หมุนตำแหน่งการเลื่อนปัจจุบันของการเลื่อนที่พอใจในรูปลักษณ์ของผู้มีอำนาจ x และ y ของฟังก์ชันวัตถุ getScrollOffsets(w) ( // เลื่อนไปยังหน้าต่างที่ระบุหรืออย่างแม่นยำยิ่งขึ้น // นี่คือฟังก์ชัน wiccan โดยไม่มีอาร์กิวเมนต์ w = w | window // Offensive method ใช้ได้กับทุกเบราว์เซอร์ ยกเว้น IE เวอร์ชัน 8 และต่ำกว่า ถ้า (w.pageXOffset! = null) return (x: w.pageXOffset, y:w.pageYOffset); // For IE (เบราว์เซอร์อื่น) ในโหมดมาตรฐาน var d = w.document; if (document.compatMode == "CSSICompat") return (x: d.documentElement.scrollLeft, y: d.documentElement.scrollTop); // สำหรับเบราว์เซอร์ใน การคืนค่าโหมดการรวม (x: d.body.scrollLeft , y: d.body.scrollTop); )
ตัวอย่างต่อไปนี้แสดงลำดับการใช้ฟังก์ชัน drag() ในไฟล์ HTML:
การทดสอบ รีไวร์ รีไวร์ รีไวร์
สิ่งที่สำคัญที่สุดที่นี่คือแอตทริบิวต์ onmouseown ขององค์ประกอบที่ซ้อนกัน
ส่งรายการข้อความ
เบราว์เซอร์รองรับอินพุตเก่าสามรายการจากแป้นพิมพ์ Podіїการกดแป้นพิมพ์และการกดแป้นพิมพ์єlow podіyamiที่เห็นในฝ่ายรุก อย่างไรก็ตาม, กดปุ่มєvysokorіvnevim, scho vodomlyaє, scho ได้รับการแนะนำสัญลักษณ์อื่น
ข้อกำหนดแบบร่างเหตุการณ์ DOM ระดับ 3 กำหนดพ็อดที่เฉพาะเจาะจงมากขึ้น การป้อนข้อความสร้างขึ้นเมื่อพร้อมท์สำหรับบทนำของข้อความ โดยไม่คำนึงว่าบทนำจะเขียนในลักษณะใด
มาเผยแพร่ภายใต้ textinput และดำเนินการในชั่วโมงนี้ภายใต้ textInput มีการส่งผ่านวัตถุอย่างง่ายซึ่งมีพลังของข้อมูลซึ่งรับอินพุตของข้อความ (อีกอันหนึ่งถูกเสนอโดยข้อกำหนดพลังงาน, วิธีการป้อนข้อมูล, มันเป็นความผิดของวิธีการป้อนข้อมูล, แต่ยังไม่ได้นำไปใช้.) สัญลักษณ์ที่ไม่มีตัวตนทั้งหมด.
สามารถจัดระเบียบอ็อบเจกต์การส่งซึ่งถ่ายโอนจากการกดปุ่มย่อยได้ การกดปุ่มย่อยคือการแนะนำอักขระตัวเดียว อักขระนี้วางอยู่ในวัตถุภายใต้รูปลักษณ์ของค่าตัวเลขของจุดรหัส Unicode i เพื่อที่จะเปลี่ยนเป็นแถว จำเป็นต้องบิดเมธอด String.fromCharCode() ในเบราว์เซอร์ส่วนใหญ่ จุดรหัสสำหรับสัญลักษณ์จะนำมาจากผู้มีอำนาจ รหัสกุญแจวัตถุของการส่ง อย่างไรก็ตาม ด้วยเหตุผลทางประวัติศาสตร์ Firefox มีพลังแห่งชัยชนะใหม่ รหัสถ่าน.
ในเบราว์เซอร์ส่วนใหญ่ คีย์ย่อยของปุ่มกดจะหยุดก็ต่อเมื่อคุณป้อนอักขระที่แตกต่างกันเท่านั้น อย่างไรก็ตาม การกดแป้นพิมพ์ของ Firefox ก็ใช้งานไม่ได้เช่นกันสำหรับสัญลักษณ์ที่ใช้งานไม่ได้ หากต้องการเบี่ยงเบนจากจุดสองจุด (และละเว้นสัญลักษณ์ที่ไม่ต่อสู้) คุณสามารถกลับค่า 0 ได้
สามารถเลือก sub textinput, textInput และ keypress เพื่อแทนที่ตัวอักษรที่ป้อน Tobto, qіpodіїสามารถ vikoristovuvat เพื่อกรองการแนะนำ ตัวอย่างเช่น คุณอาจลืมป้อนอักขระที่เป็นตัวอักษรในช่องที่อนุญาตให้ป้อนข้อมูลตัวเลขได้
ในแอปพลิเคชันด้านล่าง โมดูลจะแสดงอยู่ JavaScript ของฉันสิ่งที่ใช้การกรองประเภทนี้ ในองค์ประกอบshukaє ในแอตทริบิวต์อักขระที่อนุญาตข้อมูลเพิ่มเติม (ไม่เป็นมาตรฐาน) รีจิสทรีของประเภทย่อย textinput, textInput และ keypress สำหรับองค์ประกอบที่รู้จักทั้งหมด และระหว่างความเป็นไปได้ของการป้อนข้อมูลด้วยอักขระนิพจน์ปกติที่ระบุในแอตทริบิวต์ data-allowed-chars:
/* กรองอินพุตสำหรับองค์ประกอบ โมดูลทั้งหมดค้นหาองค์ประกอบทั้งหมด เอกสารที่สามารถมีแอตทริบิวต์ "data-allowed-chars" Registry keypress, textinput และ textInput สำหรับองค์ประกอบเหล่านี้ เพื่อใส่ชุดของค่าที่ถูกต้องสำหรับ การป้อนอักขระเพื่อให้คุณสามารถป้อนมากกว่าอักขระที่ระบุในแอตทริบิวต์ ยักโชธาตุ นอกจากนี้ยังสามารถใช้แอตทริบิวต์ "data-messageid" ค่าของแอตทริบิวต์ถูกตีความเป็นรหัสขององค์ประกอบอื่นในเอกสาร หากคุณต้องการป้อนอักขระที่ไม่ถูกต้อง องค์ประกอบที่มี id จะมองเห็นได้ หากคุณต้องการป้อนอักขระที่ถูกต้อง องค์ประกอบจะได้รับอนุญาต องค์ประกอบของคำอธิบายนี้ถูกกำหนดขึ้นเพื่ออธิบายว่าทำไมจึงมีการบันทึกการแนะนำของโคริสตูวัค การออกแบบนี้จำเป็นต้องดำเนินการด้วยความช่วยเหลือของ CSS ในลักษณะที่มองไม่เห็น */ whenReady(function () ( // เรียกใช้ฟังก์ชันนี้หากเอกสารสนใจ // ทราบองค์ประกอบทั้งหมด อินพุต var = document.getElementsByTagName ("อินพุต"); // เดินผ่านพวกมันในลูป for (var i = 0; i< inputelts.length; i++) { var elt = inputelts[i]; // Пропустить элементы, не являющиеся текстовыми полями ввода // и не имеющие атрибута data-allowed-chars if (elt.type != "text" || !elt.getAttribute("data-allowed-chars")) continue; // Зарегистрировать наш обработчик события в этом элементе input // keypress старое событие и реализовано во всех браузерах. // textInput поддерживается в Safari и Chrome с 2010 года. // textinput версия проекта стандарта "DOM Level 3 Events". if (elt.addEventListener) { elt.addEventListener("keypress", filter, false); elt.addEventListener("textInput", filter, false); elt.addEventListener("textinput", filter, false); } // textinput не поддерживается версиями IE, в которых не реализован // метод addEventListener() else { elt.attachEvent("onkeypress", filter); } } // Обработчик событий keypress и textInput, фильтрующий ввод пользователя function filter(event) { // Получить объект события и целевой элемент target var e = event || window.event; // Модель стандартная или IE var target = e.target || e.srcElement; // Модель стандартная или IE var text = null; // Введенный текст // Получить введенный символ или текст if (e.type === "textinput" || e.type === "textInput") text = e.data; else { // Это было событие keypress // Введенный печатаемый символ в Firefox сохраняется в свойстве charCode var code = e.charCode || e.keyCode; // Если была нажата какая либо функциональная клавиша, не фильтровать ее if (code < 32 || // Управляющий символ ASCII e.charCode == 0 || // Функциональная клавиша (в Firefox) e.ctrlKey || e.altKey) // Удерживаемая клавиша-модификатор return; // Не фильтровать это событие // Преобразовать код символа в строку var text = String.fromCharCode(code); } // Отыскать необходимую нам информацию в этом элементе input var allowed = target.getAttribute("data-allowed-chars"); // Допустимые символы var messageid = target.getAttribute("data-messageid"); // Сообщение id if (messageid) // Если указано значение id, получить элемент var messageElement = document.getElementById(messageid); // Обойти в цикле символы во введенном тексте for(var i = 0; i < text.length; i++) { var c = text.charAt(i); allowed = new RegExp(allowed, "i"); // Создаем регулярное выражение if (c.search(allowed) == -1) { // Недопустимый символ? // Отобразить элемент с сообщением, если указан if (messageElement) messageElement.style.visibility="visible"; // Отменить действия по умолчанию, чтобы предотвратить вставку текста if (e.preventDefault) e.preventDefault(); if (e.returnValue) e.returnValue = false; return false; } } // Если все символы оказались допустимыми, скрыть элемент // с сообщением, если он был указан if (messageElement) messageElement.style.visibility = "hidden"; } });
ด้านล่างนี้คือข้อบ่งชี้ของส่วนมาร์กอัป HTML ซึ่งเป็นโมดูลหลัก:
รูปเล็กด้านล่างแสดงรูปแบบ vikoristannya tsієї ที่นี่ หลังจากป้อนชื่อ ฉันใส่ตัวเลข เนื่องจาก bula ถูกบล็อกโดยอัตโนมัติและมีการแจ้งเตือนล่วงหน้า:
การกดแป้นย่อยและการป้อนข้อความจะถูกสร้างขึ้นทันทีก่อนที่จะแทรกข้อความใหม่ลงในองค์ประกอบของเอกสาร ซึ่งอาจโฟกัสที่อินพุต ด้วยเหตุนี้ คอมไพเลอร์ของอินพุตเหล่านี้จึงอาจรบกวนการแทรกข้อความโดยการพูดอินพุต
เบราว์เซอร์ยังใช้ Pod ป้อนข้อมูลซึ่งจะทริกเกอร์เมื่อข้อความถูกแทรกลงในองค์ประกอบ ไม่สามารถพูดแบบเดียวกันได้และวัตถุที่เป็นข้อความของส่วนย่อยจะไม่นำข้อมูลเกี่ยวกับการแทรกข้อความออกไป - มันแค่เตือนคุณเกี่ยวกับสิ่งเหล่านั้นที่เนื้อหาที่เป็นข้อความขององค์ประกอบมีการเปลี่ยนแปลง ตัวอย่างเช่น หากคุณต้องการให้แน่ใจว่าคุณป้อนเฉพาะอักขระตัวพิมพ์ใหญ่ คุณสามารถระบุตัวอย่างสำหรับการป้อนข้อมูล ดังที่แสดงด้านล่าง:
อินพุตเป็นมาตรฐานในข้อกำหนด HTML5 และรองรับโดยทั้งหมด เบราว์เซอร์สมัยใหม่ครีม IE เอฟเฟกต์ที่คล้ายกันนี้สามารถทำได้ใน IE โดยการเปลี่ยนค่าพลังของค่าขององค์ประกอบข้อความที่ป้อนหลังจากการแทนที่แบบกำหนดเอง การเปลี่ยนแปลงคุณสมบัติ.
ส่งคีย์บอร์ด
Podії คีย์ลงі คีย์อัพ zbudzhuyutsya ถ้า koristuvach กดไคเพื่อปล่อยปุ่มบนแป้นพิมพ์ กลิ่นเหม็นถูกสร้างขึ้นสำหรับปุ่มตัวปรับแต่ง ปุ่มฟังก์ชัน และปุ่มตัวอักษรและตัวเลข ทันทีที่ถอดกุญแจออก กุญแจจะถูกกดบนพื้นเป็นเวลานานเพื่อให้โหมดเล่นซ้ำอัตโนมัติถูกเปิดใช้งาน การกดแป้นแบบไม่ระบุชื่อจะถูกสร้างขึ้น การกดแป้นครั้งแรกจะปรากฏขึ้น
เป้าหมายของการสนับสนุน รหัสกุญแจจากค่าตัวเลขเสมือนเป็นแป้นกด สำหรับคีย์ที่สร้างอักขระอื่นๆ คีย์โค้ดมีอำนาจที่จะแทนที่จุดโค้ด Unicode ที่ตรงกับอักขระหลักที่แสดงบนปุ่ม ปุ่มที่มีตัวอักษรจะสร้างค่ารหัสคีย์ที่ตรงกับอักขระตัวพิมพ์ใหญ่เสมอ โดยไม่ขึ้นกับปุ่ม Shift และอักขระเดียวกันจะแสดงบนปุ่ม
เช่นเดียวกับปุ่มตัวเลข คุณควรสร้างค่ารหัสคีย์ที่ตรงกับอักขระตัวเลขที่แสดงบนปุ่มเสมอ เพื่อที่ว่าเมื่อคุณกดปุ่ม Shift คุณจะสามารถป้อนอักขระอื่นได้ สำหรับคีย์ที่ไม่ยอมรับอักขระอื่น พลังของรหัสคีย์มีความสำคัญมากกว่านั้น ค่าพลังของคีย์โค้ดยังไม่ได้มาตรฐานแต่อย่างใด อย่างไรก็ตาม, เบราว์เซอร์ที่แตกต่างกันกลิ่นเหม็นไม่รุนแรงจนไม่สามารถพกพาได้
เช่นเดียวกับวัตถุที่อยู่ใต้เมาส์ วัตถุที่อยู่ใต้แป้นพิมพ์สามารถมีพลังได้ altKey, ctrlคีย์, เมตาคีย์і shiftKeyหากตั้งค่าเป็นจริงซึ่งหมายความว่าในขณะที่สิ้นสุดการย่อย คีย์ตัวแก้ไขเริ่มต้นจะลดลง
Posії keydown และ keyup รวมถึงพลังของ keyCode ได้รับชัยชนะมานานกว่าสิบปี แต่ยังไม่ได้มาตรฐาน แบบร่างเหตุการณ์ DOM ระดับ 3 กำหนดมาตรฐานของประเภทคีย์ดาวน์และคีย์อัพ แต่ไม่ได้กำหนดมาตรฐานพลังของคีย์โค้ด นักนาโตมิสต์หมายถึงพลังใหม่ของกุญแจ เนื่องจากมีความผิดในการล้างแค้นที่จะตั้งชื่อกุญแจในแถวที่มองเห็น เมื่อกุญแจสั่งสัญลักษณ์ของคนอื่น พลังของกุญแจคือการล้างแค้นให้กับสัญลักษณ์นั้น สำหรับปุ่มฟังก์ชัน การเปิด/ปิดของปุ่มเป็นความรับผิดชอบของแม่ของค่าดังกล่าว เช่น F2, Home หรือ Left
ในขณะที่เขียน แถวของปุ่มเปิด/ปิดเหล่านี้ซึ่งกำหนดโดยมาตรฐานเหตุการณ์ DOM ระดับ 3 ยังไม่ได้ใช้งานในเบราว์เซอร์ใดๆ เบราว์เซอร์ Prote ตามกลไกของ Webkit, Safari และ Chrome มีความหมายในวัตถุที่มีอำนาจ ตัวระบุคีย์. สำหรับปุ่มฟังก์ชัน เช่น ปุ่มเปิดปิด ปุ่มเปิดปิดตัวระบุคีย์ไม่ใช่ตัวเลข แต่เป็นแถวของชื่อปุ่ม เช่น Shift หรือ Enter สำหรับคีย์ที่จับคู่อักขระกับแต่ละอื่น ๆ พลังในการล้างแค้นน้อยกว่าการแสดงแถวอื่น ๆ ของจุดรหัสอักขระ Unicode ตัวอย่างเช่น คีย์ A ให้ค่า U+0041
ด้านล่างคือคลาส Keymap ซึ่งแสดงตัวระบุสำหรับคีย์ผสม เช่น PageUp, Alt_Z และ ctrl+alt+shift+F5 ในฟังก์ชันบน JavaScript ซึ่งจะถูกเรียกใช้เมื่อได้รับพร้อมท์ให้โจมตีคีย์ผสมเหล่านี้ การกำหนดคีย์แมปจะถูกส่งผ่านไปยังตัวสร้างคีย์แมป () ของแบบฟอร์ม วัตถุจาวาสคริปต์ชื่อของพลังที่ควรได้รับการระบุให้กับตัวระบุของคีย์ผสมและความหมายของพลังเหล่านี้ควรได้รับการล้างแค้นโดยการใช้ฟังก์ชัน-obbrniks การเพิ่มการเชื่อมโยงระยะไกลนั้นอยู่เบื้องหลังเมธอดการผูก () และ unbind () เพิ่มเติม
วัตถุ Keymap ได้รับการติดตั้งในองค์ประกอบ HTML (วัตถุเอกสารเสียง) ด้วยวิธีการช่วยติดตั้ง () ภายใต้ชั่วโมงของการติดตั้งวัตถุ Keymap สำหรับองค์ประกอบนี้ จะมีการลงทะเบียนสำเนาของคีย์ดาวน์ Shorazu หากมีการกดปุ่ม รายการตรวจสอบจะเปลี่ยนการมีอยู่ของฟังก์ชัน ซึ่งส่งผลให้เกิดการรวมกันนี้ ตามหน้าที่ มันถูกเรียกออกมา
Obrobnik ภายใต้การปิดคีย์ของคีย์ซึ่งเป็นที่ยอมรับโดยมาตรฐานเหตุการณ์ DOM ระดับ 3 เนื่องจากไม่เป็นเช่นนั้น ในอีกทางหนึ่ง คุณสามารถลองชนะพลัง Webkit ของ keyIdentifier І เป็นตัวเลือกสำรอง สำเนาของรหัสเปิด/ปิดเครื่องที่ไม่ได้มาตรฐานของ vicorist:
// ฟังก์ชันคอนสตรัคเตอร์ ฟังก์ชัน Keymap(การผูก) ( this.map = (); // กำหนดตัวระบุ->การผูก if (การผูก) ( // คัดลอกไปยังแมปการผูกใหม่สำหรับ (ชื่อในการผูก) this.bind( ชื่อ, การผูก);))) // เชื่อมโยงการกำหนดตัวระบุคีย์กับฟังก์ชันที่กำหนดโดย keymap.prototype.bind = function(key, func) (this.map = func;); // ยกเลิกการผูกรหัสคีย์ที่ระบุ Keymap.prototype.unbind = function(key) (ลบ this.map;); // ติดตั้งวัตถุ keymap บนองค์ประกอบ HTML คำใบ้ Keymap.prototype.install = function(element) ( var keymap = this; // กำหนด function handler function handler(event) ( return keymap.dispatch(event, element) ; ) // ตั้งค่า if (element.addEventListener) element.addEventListener("keydown", handler, false);else if (element.attachEvent) element.attachEvent("onkeydown", handler); คีย์บอร์ด, วนเข้าสู่การรวม Keymap.prototype.dispatch = function(event, element) ( // ไม่มีชื่อคีย์ตัวปรับแต่ง, ไม่มีชื่อคีย์ var modifiers = ""; var keyname = null; / / สร้างแถวของตัวปรับแต่งสำหรับรูปลักษณ์แบบบัญญัติจากอักขระ // เป็นตัวพิมพ์เล็ก โดยเรียงตามลำดับตัวอักษร if (event.altKey) modifiers += "alt_"; .metaKey) modifiers += "meta_"; if (event.shiftKey) modifiers += "shift_"; // คีย์ที่มีชื่อนั้นสามารถระบุได้ง่าย // กำหนดโดยมาตรฐาน DOM ระดับ 3: if (event.key) keyname = event.key;// หากต้องการลบชื่อฟังก์ชันคีย์ใน Safari และ Chrome คุณสามารถ // กำหนดคุณสมบัติการให้สิทธิ์ keyIdentifier อื่นได้ if(event.keyIdentifier && event.keyIdentifier .substring(0,2) !== "U+") ชื่อคีย์ = เหตุการณ์ keyIdentifier;// ในอีกทางหนึ่ง คุณสามารถบิดพลังของ keyCode // และในการแสดงโค้ด > im ด้านล่างอย่างอื่น ke yname = Keymap.keyCodeToKeyName; // ถ้าปุ่มอยู่ไกล ให้ไม่ต้องสนใจด้านล่าง // แล้วหมุนปุ่มควบคุม ถ้า (!keyname) กลับ; // ตัวระบุคีย์มาตรฐานประกอบด้วยชื่อของตัวดัดแปลง // ชื่อคีย์นั้นเป็นตัวพิมพ์เล็ก var keyid = modifiers + keyname.toLowerCase(); // ย้อนกลับ การผูกตัวระบุคีย์นี้คืออะไร var handler = this.map; ถ้า (ตัวจัดการ) ( // เช่นเดียวกับตัวจัดการสำหรับจำนวนคีย์ ให้เรียกใช้ // เรียกใช้ฟังก์ชันตัวจัดการ var retval = handler.call(องค์ประกอบ, เหตุการณ์, keyid); if (retval === เท็จ) ( ถ้า ( event.stopPropagation) event.stopPropagation(); // DOM model else event.cancelBubble = true; // IE model if (event.preventDefault) event.preventDefault(); / / DOM else event.returnValue = false; // IE ) // หมุนค่า ละเว้นตัวจัดการ return retval;))); // ฟังก์ชันเพิ่มเติมในการแปลงตัวระบุคีย์เป็นรูปแบบบัญญัติ // เราจำเป็นต้องแปลงตัวระบุ "meta" เป็น "ctrl" เพื่อที่ // แปลงตัวระบุ Meta-C เป็น "Command-C" เป็น คอมพิวเตอร์แมคและ "Ctrl-C" ในส่วนอื่นๆ ทั้งหมด Keymap.normalize = function(keyid) ( keyid = keyid.toLowerCase(); // var ตัวพิมพ์เล็ก word = keyid.split(/\s+|[\-+_]/); // ตัวแก้ไขแยก var ชื่อคีย์ = word .pop ();// ชื่อคีย์ - ชื่อคีย์ที่เหลือ = Keymap.aliases ||keyname;// ชื่อ alias?words.sort(); .join("_"); // เข้าร่วมทั้งหมดในครั้งเดียว ) Keymap.aliases = ( // เปลี่ยนนามแฝงของคีย์หลัก // ชื่อ "ทางการ" ที่สะกดใน DOM ระดับ 3 และเปลี่ยนรหัสคีย์ // เป็นชื่อด้านล่าง ค่านี้เกิดจากอักขระตัวพิมพ์เล็ก "escape" เท่านั้น : " esc", "return":"enter", "delete":"del", "ctrl":"control", "space":"spacebar", "ins":"insert"); // อำนาจเก่าของอ็อบเจกต์รหัสคีย์ภายใต้คีย์ดาวน์ไม่ได้มาตรฐาน // แต่ค่าที่ใหม่กว่าสามารถเปลี่ยนแปลงได้สำเร็จในเบราว์เซอร์และระบบปฏิบัติการส่วนใหญ่ Keymap.keyCodeToKeyName = ( // คีย์ที่มีคำหรือลูกศรอยู่ 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Control", 18: "Alt", 19: "หยุดชั่วคราว", 20: "CapsLock", 27: "Esc", 32: "Spacebar", 33: "PageUp", 34: "PageDown", 35: "สิ้นสุด", 36: "Home", 37: "ซ้าย", 38: "ขึ้น", 39: "ขวา", 40: "ลง", 45: "แทรก", 46: "Del", // ปุ่มตัวเลขบนแป้นพิมพ์หลัก (ไม่ใช่ปุ่มรอง) 48: "0 ",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8 ", 57:"9", // แป้นตัวอักษร แสดงความเคารพซึ่งไม่แตกต่างที่นี่ // อักขระตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก 65:"A", 66:"B", 67:"C", 68:"D" , 69 : "E", 70: "F", 71: "G", 72: "H", 73: "I", 74: "J", 75: "K", 76: "L", 77 :" M", 78: "N", 79: "O", 80: "P", 81: "Q", 82: "R", 83: "S", 84: "T", 85: " U", 86:"V", 87:"W", 88:"X", 89:"Y", 90:"Z", // แป้นตัวเลขบนแป้นพิมพ์เสริมและแป้นที่มีอักขระแยกกัน// ( ไม่รองรับใน Opera) 96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103: "7", 104:"8", 105:"9",106:"ทวีคูณ", 107:"เพิ่ม", 109:"ลบ", 110:"ทศนิยม", 111:"หาร", // ปุ่มฟังก์ชัน 112: F1, 113: F2, 114: F3, 115: F4, 116: F5, 117: F6, 118: F7, 119: F8, 120: "F9", 121: "F10", 122: "F11", 123: "F13", 125: "F14", 126: "F15", 127: "F16", 128: "F17"", 129:"F18", 130:"F19", 131:"F20", 132 :"F22", 134:"F23", 135:"F24", // ปุ่มที่มีอักขระต่างกันสำหรับการป้อนใดๆ ที่ไม่จำเป็น // เพื่อละเว้นปุ่ม Shift // ยัติภังค์ไม่สามารถใส่ยัติภังค์ในลักษณะที่ สามารถห่อได้: FF turn // รหัสเดียวกับปุ่มลบ 59:";", 61:"=", 186:";", 187:"=", // Firefox และ Opera หมุน 59,61 188: ",", 190: ".", 191:"/", 192:"`", 219:"[", 220:"\", 221:"]", 222: """);
ด้านล่างนี้เป็นตัวอย่างของออบเจกต์คีย์แมป:
Window.onload = function() ( var keymap = new Keymap; // สร้างวัตถุ Keymap ใหม่ keymap.bind ("ctrl+a", // Ctrl+A combo function(event, keyid) ( alert( "คุณได้กด : " + keyid) ));// อีกหนึ่งการรวม Ctrl + Enter keymap.bind("ctrl+enter", function(event, keyid) (alert("คุณกด:" + keyid) ));keymap.install (document.body);// ติดตั้ง Keymap object สำหรับทั้งเอกสาร);
หัวข้อย่อยมีความสำคัญมากกว่า cіkava อื่น ๆ Zavdyaki їy คุณสามารถใช้สุนทรพจน์ของcіkavihได้มากมายในรูปแบบของ koristuvachs คุณจะตกเป็นเชลย Podiya ใน JavaScript- tse pevna diya, yak viklikana หรือ koristuvachem หรือเบราว์เซอร์ ตัวอย่างเช่น คุณสามารถคลิกเมาส์ที่ปุ่ม เลื่อนเมาส์ โฟกัสที่องค์ประกอบ เปลี่ยนค่าในช่องข้อความ เปลี่ยนหน้าต่างหน้าต่างของเบราว์เซอร์ และอื่นๆ
ฉันได้เตรียมตารางพร้อมอินพุตที่จำเป็น (ตามที่ฉันทราบ ยอมรับ) จาวาสคริปต์. คุณจะรู้ว่า อันดับแรก ฉันจะตั้งชื่อองค์ประกอบย่อยที่สามารถสร้างส่วนย่อยเดียวกันได้ คำอธิบายของส่วนย่อยนั้น podії JavaScript.
โพเดีย | วัตถุ | เหตุแห่งการแก้บน |
การทำแท้ง | ภาพ | กำลังโหลดการจับภาพซ้ำ |
เบลอ | เพิ่มพลังให้กับองค์ประกอบ | |
เปลี่ยน | FileUpload, เลือก, ข้อความ, Textarea | การเปลี่ยนแปลงของมูลค่า |
คลิก | พื้นที่, ปุ่ม, ช่องทำเครื่องหมาย, เอกสาร, ลิงค์, วิทยุ, รีเซ็ต, ส่ง | คลิกเมาส์ที่องค์ประกอบ |
DblClick | พื้นที่ เอกสาร ลิงค์ | ย้ายคลิกที่องค์ประกอบ |
ลากวาง | หน้าต่าง | ไปที่หน้าต่างของเบราว์เซอร์ |
จุดสนใจ | ปุ่ม, ช่องทำเครื่องหมาย, FileUpload, เฟรม, เลเยอร์, รหัสผ่าน, ตัวเลือก, รีเซ็ต, เลือก, ส่ง, ข้อความ, Textarea, หน้าต่าง | ตั้งโฟกัสที่องค์ประกอบ |
คีย์ลง | การกดปุ่มบนแป้นพิมพ์ | |
กดปุ่ม | เอกสาร รูปภาพ ลิงค์ พื้นที่ข้อความ | ปุ่ม Utrimanya บนแป้นพิมพ์ |
คีย์ขึ้น | เอกสาร รูปภาพ ลิงค์ พื้นที่ข้อความ | ปล่อยปุ่มบนแป้นพิมพ์ |
โหลด | เอกสาร รูปภาพ เลเยอร์ หน้าต่าง | |
เมาส์ดาวน์ | ปุ่ม เอกสาร ลิงค์ | กดปุ่มเมาส์ |
เลื่อนเมาส์ | หน้าต่าง | มิชาในภาษารัสเซีย |
เม้าส์เอาท์ | พื้นที่, ชั้น, ลิงค์ | มิชาไปไกลกว่าองค์ประกอบ |
เม้าส์โอเวอร์ | พื้นที่, ชั้น, ลิงค์ | มิชาอยู่เหนือองค์ประกอบ |
เลื่อนเมาส์ | ปุ่ม เอกสาร ลิงค์ | ปล่อยปุ่มเมาส์ |
เคลื่อนไหว | กรอบ | ย้ายองค์ประกอบ |
รีเซ็ต | รูปร่าง | แบบฟอร์ม Skidannya |
ปรับขนาด | วงกบ,หน้าต่าง | ซมีนา รอซมิริฟ |
เลือก | ข้อความ, พื้นที่ข้อความ | เห็นข้อความ |
ส่ง | รูปร่าง | การถ่ายโอนข้อมูล |
ยกเลิกการโหลด | หน้าต่าง | ความได้เปรียบของฝั่งโฟลว์ |
ทีนี้มาคิดออกจามรี แท็กจาวาสคริปต์. Іsnuyut เรียกว่า โพเดีย. อ็อบร็อบนิกส์อย่างไรก็ตาม พวกเขาพิจารณาว่าควรทำอย่างไรในกรณีที่เพลงมีความผิด JavaScript Pod Codersอาจมีลักษณะที่โจ่งแจ้ง:
OnNamePodії
Tobto กลับไปกลับไปคำนำหน้า บน"และให้ ชื่อฝักแบบนี้ โพเดีย: บนโฟกัส, เมื่อคลิก, เมื่อส่งและจนถึงตอนนี้ ฉันไม่คิดว่าจะมีวินิโคลอยู่ที่นี่ และตอนนี้อาหารขยะ: " จะแฮ็ค JavaScript ได้อย่างไร?พื้นที่ของความเมื่อยล้าของพวกเขานั้นยิ่งใหญ่และเราสามารถดูงานทีละงานกับคุณได้ ด้านข้างมีตัวอักษรสามตัว สกิน s silan vіdpovіdaєสำหรับพื้นหลังที่มีสีต่างกัน (เช่น ขาว เหลือง และเขียว) สีของพื้นหลังจะเปลี่ยนไป หากนำเมาส์เข้ามา สีของพื้นหลังจะเปลี่ยนเป็นสีเพื่อเสน่ห์
บิลลี่
Zhovtiy
เซเลนี่
มาทำความเข้าใจกับสคริปต์นี้หรือทั้งหมด ด้าน HTMLด้วยการสนับสนุน จาวาสคริปต์і css(กล่าวอีกนัยหนึ่งคือก้น ดีเอชทีเอ็มแอล). เริ่มเดินถอยหลัง แท็ก HTMLสำหรับการเริ่มต้นไม่ว่าจะเป็น ด้าน HTML. ให้เราสร้างสไตล์เพื่อให้แน่ใจว่าเราใส่สีฟ้าด้านนี้ใต้อาร์มแชร์และเพื่อให้หมีมองพวกเขา "ตัวชี้" คุณอาจพูดว่า: "จำเป็นต้องใส่สไตล์ตอนนี้หรือไม่ Aje possilannya และพวกเขาจะเหมือนกันทุกประการ" ถูกต้อง posilannya แต่เรามี posilan เหมือนไม่มี (แม้ว่าจะไม่มีแอตทริบิวต์ก็ตาม hrefที่วิทยานิพนธ์) จากนั้นกลิ่นเหม็นจะได้รับการอภัยเป็นข้อความสีดำสำหรับ umovchannyam (จริงคุณสามารถคลิกที่ข้อความได้) นั่นเป็นเหตุผลที่สไตล์ของ obov'yazkovy คุณสามารถจัดโยคะให้เป็นระเบียบและประหลาดใจกับสิ่งที่จะเกิดขึ้น และสั้นกว่านั้นใส่ แอตทริบิวต์ href(หมายถึง Be-yakim แม้ว่าจะว่างเปล่าก็ตาม) และอธิบายว่าเหตุใดสคริปต์จึงหยุดทำงาน มาเริ่มกันเลย จาวาสคริปต์. เราสร้างการเปลี่ยนแปลง default_color, คุณคิดอย่างไรกับสีสำหรับโปรโมชั่น. มีสามฟังก์ชั่น:
การทำงาน setTempColor() Vіdpovіdaєสำหรับ timchasova เปลี่ยนสี
การทำงาน setDefaultColor() Vіdpovіdaєสำหรับการเปลี่ยนสีสำหรับการส่งเสริมการขาย
การทำงาน สีเริ่มต้น ()คืนสีของขี้เถ้าเพื่อส่งเสริม
ถ้าอย่างนั้นเรามาดูความแข็งแกร่งของคุณลักษณะของการเห็นกันเถอะ ตัวอย่าง. เมื่อชี้หมีตามคำขอตำหนิ โพเดีย MouseOverอย่างชัดเจน, บนเมาส์โอเวอร์การเรียกใช้ฟังก์ชัน setTempColor()มันผ่านพารามิเตอร์อื่น เมื่อคุณนำหมีออกจากธาตุให้ตำหนิ Pod_MouseOutแล้วโทรออก ฟังก์ชัน defaultColor()วิธีการปล้นสีของโลกสีสำหรับล็อค ฉัน nareshti ด้วยการโจมตีของหมีเพื่อวิงวอน ( ตัวจัดการ onClick) ฟังก์ชั่นการโทร setDefaultColor(), วิธีตั้งค่าสี, งานสำหรับพารามิเตอร์ของสีเป็นพื้นหลังสำหรับคำบรรยาย Yak bachite ทุกอย่างจบง่าย
Tse buv หลักการของ vikoristannya podіyใน JavaScriptและปล่อยให้ทุกอย่างนอนน้อยกว่าจินตนาการของคุณ!
การประมวลผลฝัก
โปรแกรมไคลเอนต์บน JavaScript บนมือถือขึ้นอยู่กับรูปแบบการเขียนโปรแกรม หากโปรแกรมรองรับโดยโปรแกรมย่อย ด้วยรูปแบบการเขียนโปรแกรมนี้ เว็บเบราว์เซอร์จะสร้างพ็อด หากเป็นไปได้ที่จะเห็นองค์ประกอบบางอย่างในเอกสาร ตัวอย่างเช่น เว็บเบราว์เซอร์สร้างพ็อดเมื่อเสร็จสิ้นการจับภาพเอกสาร เมื่อชี้ไปที่ไฮเปอร์สเปซ หรือเมื่อกดปุ่มบนแป้นพิมพ์
หากคุณต้องการให้ Add-on ของ JavaScript เรียกใช้ประเภทย่อยแรกสำหรับองค์ประกอบแรกของเอกสาร คุณสามารถลงทะเบียนฟังก์ชันอย่างน้อยหนึ่งฟังก์ชันที่จะถูกเรียกเมื่อประเภทย่อยนั้นถูกเรียกใช้ แจ้งให้เราทราบว่าอะไรที่ไม่ใช่คุณลักษณะเฉพาะของการเขียนโปรแกรมบนเว็บ: โปรแกรมทั้งหมด อินเทอร์เฟซแบบกราฟิก koristuvacha dіyutตัวเองในอันดับ - ตรวจสอบกลิ่นเหม็นอย่างต่อเนื่องในขณะที่มันกลายเป็น (เพื่อตรวจสอบที่ด้านล่าง) และดูผู้ที่กำลังตื่นขึ้น
ประเภทฝัก- คำสั่งซึ่งหมายถึงประเภทของ DIY ที่ทำให้เกิดแท่น ตัวอย่างเช่น ประเภท "mousemove" หมายความว่าลำโพงได้ย้ายตัวบ่งชี้เมาส์ ประเภท "keydown" หมายความว่ามีการกดแป้นบนแป้นพิมพ์ และประเภท "โหลด" หมายความว่าเอกสาร (หรือทรัพยากรอื่น) ถูกโหลดจากการวัด Oskіlkiประเภทpodії - มันเป็นเพียงแถวเดียวบางครั้งโยคะก็เรียกตามชื่อของpodії
เมตาพ็อด- วัตถุ tse สำหรับบาง vinikla podiya chi z yakym tsya podiya pov'yazana ถ้าพูดถึงโพเดีย ให้นึกถึงประเภทและวิธีการของโพเดีย ตัวอย่างเช่น ภายใต้ "โหลด" ของวัตถุหน้าต่างหรือภายใต้องค์ประกอบ "คลิก"
Obrobnik podії- ฟังก์ชั่นทั้งหมด, สิ่งที่กำลังดำเนินการ, สิ่งที่เป็นข้อพิสูจน์ของ โปรแกรมต้องลงทะเบียนการทำงานของตัวรวบรวมพ็อดในเว็บเบราว์เซอร์โดยระบุประเภทของพ็อดที่เป็นเป้าหมาย หากวัตถุเป้าหมายที่ระบุมีประเภทย่อยของประเภทที่ระบุ เบราว์เซอร์จะเปลี่ยนเป็นไฟล์ที่กำหนดเอง หากมีการเรียกใช้ตัวสร้างพ็อดสำหรับวัตถุใดๆ บางครั้งเราจะบอกว่าเบราว์เซอร์ได้ "ทำลาย" หรือ "สร้าง" พ็อด
วัตถุส่ง- tse ob'єkt, po'yazaniya z ร้องเพลงpodієyuและล้างแค้นข้อมูลเกี่ยวกับ tsyu podіyu วัตถุพ็อดจะถูกส่งผ่านไปยังฟังก์ชันตัวจัดการพ็อดเป็นอาร์กิวเมนต์ (crim IE8 และอื่นๆ รุ่นแรก de ob'єkt podії มีให้เฉพาะในมุมมองของเหตุการณ์การเปลี่ยนแปลงทั่วโลก) วัตถุหนวดอยู่ภายใต้อำนาจ พิมพ์ซึ่งหมายถึงประเภทของการแบ่งอำนาจนั้น เป้าสิ่งที่กำหนดวิธีการส่ง
สำหรับสภาพผิว pov'yazanom ob'ektі podії vyznaєtsya nabіr หน่วยงาน ตัวอย่างเช่น วัตถุที่กดที่ด้านล่างของเมาส์ รวมถึงพิกัดของตัวบ่งชี้เมาส์ และวัตถุที่กดที่ด้านล่างของแป้นพิมพ์ เพื่อลบข้อมูลเกี่ยวกับแป้นที่กดและเกี่ยวกับตัวปรับแต่งแป้นที่กด สำหรับชนิดย่อยที่หลากหลาย จะมีการกำหนดเฉพาะกำลังมาตรฐาน เช่น ชนิดและเป้าหมาย และไม่มีการถ่ายโอนกำลังเพิ่มเติม ข้อมูลสีน้ำตาล. สำหรับการแบ่งประเภทดังกล่าว การมีการแบ่งย่อยเป็นสิ่งสำคัญ และข้อมูลอื่นๆ ก็ไม่มีความสำคัญ
ด้านล่างกว้างขึ้น- กระบวนการ tse ในชั่วโมงที่เบราว์เซอร์ผิดสำหรับวัตถุบางอย่าง ให้ติดตามการคลิกและค้นหารายละเอียด ในกรณีต่างๆ กำหนดให้กับวัตถุเดียว (เช่น "โหลด" ของวัตถุหน้าต่าง) ความต้องการขยายวันของพวกเขา อย่างไรก็ตาม หากคุณตำหนิเพลงในองค์ประกอบของเอกสาร เพลงนั้นจะขยายหรือรวมขึ้นเนินไปตามโครงสร้างเอกสาร