คำถามติดแท็ก javascript

สำหรับคำถามเกี่ยวกับการเขียนโปรแกรมใน ECMAScript (JavaScript / JS) และภาษา / การใช้งานต่างๆ (ไม่รวม ActionScript) แท็กนี้ไม่ค่อยได้ใช้คนเดียว แต่ส่วนใหญ่มักจะเกี่ยวข้องกับแท็ก [node.js], [jquery], [json] และ [html]

30
วิธีการส่งผ่านข้อโต้แย้งไปยังฟังก์ชั่นฟัง addEventListener?
สถานการณ์ค่อนข้างเหมือน - var someVar = some_other_function(); someObj.addEventListener("click", function(){ some_function(someVar); }, false); ปัญหาคือว่าค่าของsomeVarไม่สามารถมองเห็นได้ภายในฟังฟังก์ชั่นการฟังaddEventListenerซึ่งมันอาจจะถือว่าเป็นตัวแปรใหม่

6
Google Map API v3 - กำหนดขอบเขตและกึ่งกลาง
ฉันเพิ่งเปลี่ยนมาใช้ Google Maps API V3 ฉันกำลังทำงานกับตัวอย่างง่ายๆที่พล็อตมาร์กเกอร์จากอาเรย์ แต่ฉันไม่ทราบวิธีจัดกึ่งกลางและซูมโดยอัตโนมัติตามเครื่องหมาย ฉันค้นหายอดสุทธิสูงและต่ำรวมถึงเอกสารของ Google แล้ว แต่ไม่พบคำตอบที่ชัดเจน ฉันรู้ว่าฉันสามารถใช้พิกัดเฉลี่ยโดยเฉลี่ยได้ แต่ฉันจะตั้งค่าการซูมได้อย่างไร function initialize() { var myOptions = { zoom: 10, center: new google.maps.LatLng(-33.9, 151.2), mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions); setMarkers(map, beaches); } var beaches = [ ['Bondi Beach', -33.890542, 151.274856, 4], ['Coogee Beach', -33.423036, 151.259052, …

13
ฉันจะอ้างอิงแท็กสคริปต์ที่โหลดสคริปต์ที่กำลังเรียกใช้งานอยู่ได้อย่างไร
ฉันจะอ้างอิงองค์ประกอบของสคริปต์ที่โหลดจาวาสคริปต์ที่กำลังทำงานอยู่ได้อย่างไร นี่คือสถานการณ์ ฉันมีสคริปต์ "ปรมาจารย์" ที่โหลดสูงในหน้าแรกสิ่งแรกภายใต้แท็ก HEAD <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <script type="text/javascript" src="scripts.js"></script> มีสคริปต์ใน "scripts.js" ซึ่งจำเป็นต้องสามารถโหลดสคริปต์อื่นตามความต้องการได้ วิธีการปกติไม่ได้ผลสำหรับฉันเพราะฉันต้องการเพิ่มสคริปต์ใหม่โดยไม่อ้างอิงแท็ก HEAD เนื่องจากองค์ประกอบ HEAD ยังแสดงผลไม่เสร็จ: document.getElementsByTagName('head')[0].appendChild(v); สิ่งที่ฉันต้องการทำคือการอ้างอิงองค์ประกอบของสคริปต์ที่โหลดสคริปต์ปัจจุบันเพื่อให้ฉันสามารถผนวกแท็กสคริปต์ที่โหลดใหม่แบบไดนามิกของฉันลงใน DOM หลังจากนั้น <script type="text/javascript" src="scripts.js"></script> loaded by scripts.js--><script type="text/javascript" src="new_script1.js"></script> loaded by scripts.js --><script type="text/javascript" src="new_script2.js"></script>

19
รับพารามิเตอร์ URL ที่หลีกหนี
ฉันกำลังมองหาปลั๊กอิน jQuery ที่สามารถรับพารามิเตอร์ URL และสนับสนุนสตริงการค้นหานี้โดยไม่แสดงข้อผิดพลาด JavaScript: "ลำดับ URI ที่ผิดรูปแบบ" หากไม่มีปลั๊กอิน jQuery ที่สนับสนุนสิ่งนี้ฉันต้องรู้วิธีแก้ไขเพื่อสนับสนุนสิ่งนี้ ?search=%E6%F8%E5 ค่าของพารามิเตอร์ URL เมื่อถอดรหัสควรเป็น: æøå (ตัวละครเป็นภาษานอร์เวย์) ฉันไม่สามารถเข้าถึงเซิร์ฟเวอร์ดังนั้นฉันจึงไม่สามารถแก้ไขอะไรได้เลย

8
การเปลี่ยน ID ขององค์ประกอบด้วย jQuery
ฉันต้องเปลี่ยน ID ขององค์ประกอบโดยใช้ jQuery เห็นได้ชัดว่าสิ่งเหล่านี้ไม่ทำงาน: jQuery(this).prev("li").attr("id")="newid" jQuery(this).prev("li")="newid" ฉันพบว่าฉันสามารถทำให้เกิดขึ้นกับรหัสต่อไปนี้: jQuery(this).prev("li")show(function() { this.id="newid"; }); แต่นั่นดูเหมือนจะไม่ถูกต้องสำหรับฉัน จะต้องมีวิธีที่ดีกว่าไม่ใช่เหรอ? นอกจากนี้ในกรณีที่ไม่มีวิธีการอื่นที่ฉันสามารถใช้แทน show / hide หรือเอฟเฟกต์อื่น ๆ ได้? เห็นได้ชัดว่าฉันไม่ต้องการแสดง / ซ่อนหรือส่งผลกระทบต่อองค์ประกอบทุกครั้งเพียงแค่เปลี่ยน ID (ใช่ฉันเป็นมือใหม่ jQuery) แก้ไข ฉันไม่สามารถใช้คลาสได้ในกรณีนี้ฉันต้องใช้ ID
302 javascript  jquery 

12
AngularJS กับ Django - แท็กแม่แบบที่ขัดแย้งกัน
ฉันต้องการใช้ AngularJS กับ Django ทั้งคู่ใช้{{ }}เป็นแท็กเทมเพลต มีวิธีง่ายๆในการเปลี่ยนหนึ่งในสองรายการนี้เพื่อใช้แท็กการสร้างเท็มเพลตแบบกำหนดเองอื่น ๆ หรือไม่?

12
ป้องกัน RequireJS จากการแคชสคริปต์ที่จำเป็น
RequireJS ดูเหมือนว่าจะทำอะไรบางอย่างภายในว่าแคชจำเป็นต้องใช้ไฟล์จาวาสคริปต์ หากฉันทำการเปลี่ยนแปลงหนึ่งในไฟล์ที่ต้องการฉันจะต้องเปลี่ยนชื่อไฟล์เพื่อให้การเปลี่ยนแปลงมีผล เคล็ดลับทั่วไปของการต่อท้ายหมายเลขรุ่นเป็นพารามิเตอร์การสอบถามถึงจุดสิ้นสุดของชื่อไฟล์ไม่สามารถทำงานกับ requirejs <script src="jsfile.js?v2"></script> สิ่งที่ฉันกำลังมองหาคือวิธีป้องกันการแคชภายในสคริปต์ที่ต้องการของ RequireJS โดยไม่ต้องเปลี่ยนชื่อไฟล์สคริปต์ของฉันทุกครั้งที่มีการอัปเดต โซลูชันข้ามแพลตฟอร์ม: ตอนนี้ฉันกำลังใช้urlArgs: "bust=" + (new Date()).getTime()สำหรับแคชอัตโนมัติในระหว่างการพัฒนาและurlArgs: "bust=v2"สำหรับการผลิตที่ฉันเพิ่มเวอร์ชันที่มีรหัสฮาร์ดโค้ดหลังจากเผยแพร่สคริปต์ที่ต้องการที่อัปเดตแล้ว บันทึก: @Dustin Getz พูดถึงในคำตอบล่าสุดว่าเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของ Chrome จะวางจุดพักระหว่างการดีบักเมื่อไฟล์ Javascript มีการรีเฟรชอย่างต่อเนื่องเช่นนี้ วิธีแก้ปัญหาหนึ่งคือการเขียนdebugger;โค้ดเพื่อทริกเกอร์เบรกพอยต์ในตัวแก้ไขข้อบกพร่องจาวาสคริปต์ส่วนใหญ่ โซลูชันเฉพาะเซิร์ฟเวอร์: สำหรับวิธีแก้ปัญหาเฉพาะที่อาจทำงานได้ดีขึ้นสำหรับสภาพแวดล้อมเซิร์ฟเวอร์ของคุณเช่น Node หรือ Apache ดูคำตอบด้านล่าง

21
จะทราบได้อย่างไรว่ามีการกำหนดฟังก์ชัน JavaScript หรือไม่
คุณจะทราบได้อย่างไรว่ามีการกำหนดฟังก์ชันใน JavaScript หรือไม่ ฉันต้องการทำอะไรแบบนี้ function something_cool(text, callback) { alert(text); if( callback != null ) callback(); } แต่มันทำให้ฉันได้รับ โทรกลับไม่ใช่ฟังก์ชั่น ข้อผิดพลาดเมื่อไม่ได้กำหนดโทรกลับ


14
ทำไมการคืน HTML ที่สร้างขึ้นแทนที่จะเป็น JSON หรือมันคืออะไร?
ค่อนข้างง่ายในการโหลดเนื้อหา HTML จาก URL ที่กำหนดเอง / บริการบนเว็บของคุณโดยใช้ JQuery หรือกรอบงานอื่นที่คล้ายคลึงกัน ฉันใช้วิธีนี้หลายครั้งจนถึงตอนนี้และพบว่าประสิทธิภาพเป็นที่น่าพอใจ แต่หนังสือทั้งหมดผู้เชี่ยวชาญทั้งหมดพยายามให้ฉันใช้ JSON แทน HTML ที่สร้างขึ้น มันยอดเยี่ยมกว่า HTML มากอย่างไร เร็วขึ้นมากไหม มันมีโหลดที่น้อยกว่ามากบนเซิร์ฟเวอร์หรือไม่ ในอีกด้านฉันมีเหตุผลบางอย่างสำหรับการใช้ HTML ที่สร้างขึ้น มันเป็นมาร์กอัปธรรมดาและมักจะกะทัดรัดหรือจริงแล้วกะทัดรัดกว่า JSON เป็นข้อผิดพลาดน้อยที่ทำให้เกิดสิ่งที่คุณได้รับคือมาร์กอัปและไม่มีรหัส มันจะเร็วกว่าในการเขียนโปรแกรมในกรณีส่วนใหญ่ทำให้คุณไม่ต้องเขียนโค้ดแยกต่างหากสำหรับการสิ้นสุดของไคลเอ็นต์ คุณอยู่ด้านไหนและทำไม
301 javascript  jquery  html  ajax  json 


5
ความแตกต่างระหว่างวัตถุโหนดและวัตถุองค์ประกอบ?
ฉันสับสนอย่างสิ้นเชิงระหว่างวัตถุโหนดและวัตถุองค์ประกอบ document.getElementById()ส่งคืนวัตถุองค์ประกอบในขณะที่document.getElementsByClassName() ส่งคืนวัตถุ NodeList (ชุดขององค์ประกอบหรือโหนด?) ถ้า div เป็นวัตถุองค์ประกอบแล้วสิ่งที่เกี่ยวกับวัตถุโหนด Node? วัตถุโหนดคืออะไร วัตถุเอกสารวัตถุองค์ประกอบและวัตถุข้อความเป็นวัตถุโหนดหรือไม่ ตามหนังสือของ David Flanagan 'วัตถุเอกสารวัตถุองค์ประกอบและวัตถุข้อความเป็นวัตถุโหนดทั้งหมด' เหตุใดวัตถุจึงสามารถสืบทอดคุณสมบัติ / วิธีการของวัตถุองค์ประกอบเช่นเดียวกับวัตถุโหนดได้ ถ้าใช่ฉันเดาว่าคลาสโหนดและคลาสอิลิเมนต์เกี่ยวข้องกับต้นไม้ต้นแบบแห่งการสืบทอด <div id="test"> <p class="para"> 123 </p> <p class="para"> abc </p> </div> <p id="id_para"> next </p> document.documentElement.toString(); // [object HTMLHtmlElement] var div = document.getElementById("test"); div.toString(); // [object HTMLDivElement] var p1 = document.getElementById("id_para"); …
301 javascript  html  dom 

5
ข้อแตกต่างระหว่าง Deferred, Promise และ Future ใน JavaScript คืออะไร
อะไรคือความแตกต่างระหว่างรอการตัดบัญชีสัญญาและสัญญาซื้อขายล่วงหน้า? มีทฤษฎีที่ได้รับการรับรองโดยทั่วไปอยู่เบื้องหลังทั้งสามนี้หรือไม่?

30
HTML5 dragleave ใช้งานเมื่อทำการวางตัวองค์ประกอบลูก
ปัญหาที่ฉันมีคือdragleaveเหตุการณ์ขององค์ประกอบนั้นถูกไล่ออกเมื่อทำการวางตัวองค์ประกอบย่อยขององค์ประกอบนั้น นอกจากนี้dragenterจะไม่ถูกไล่ออกเมื่อโฮเวอร์กลับองค์ประกอบหลักอีกครั้ง ฉันทำไวโอลินง่าย: http://jsfiddle.net/pimvdb/HU6Mk/1/ HTML: <div id="drag" draggable="true">drag me</div> <hr> <div id="drop"> drop here <p>child</p> parent </div> ด้วย JavaScript ต่อไปนี้: $('#drop').bind({ dragenter: function() { $(this).addClass('red'); }, dragleave: function() { $(this).removeClass('red'); } }); $('#drag').bind({ dragstart: function(e) { e.allowedEffect = "copy"; e.setData("text/plain", "test"); } }); สิ่งที่ควรทำคือการแจ้งผู้ใช้ด้วยการทำให้divสีแดงหล่นเมื่อลากสิ่งที่มี วิธีนี้ใช้ได้ผล แต่ถ้าคุณลากเข้าสู่pเด็กการdragleaveถูกไล่ออกและdivจะไม่เป็นสีแดงอีกต่อไป การย้ายกลับไปยังการดร็อปdivไม่ทำให้แดงอีกเลย มีความจำเป็นที่จะต้องย้ายออกจากการตกdivและลากกลับเข้าไปอีกครั้งเพื่อทำให้เป็นสีแดง เป็นไปได้หรือไม่ที่จะป้องกันไม่ให้dragleaveยิงเมื่อลากเข้าสู่องค์ประกอบย่อย 2017 …

11
ฉันสามารถเรียกใช้ไฟล์ HTML โดยตรงจาก GitHub แทนที่จะดูแค่แหล่งที่มาได้หรือไม่
ถ้าฉันมี.htmlไฟล์ในที่เก็บ GitHub เช่นสำหรับการรันชุดทดสอบ JavaScript มีวิธีใดบ้างที่ฉันสามารถดูหน้านั้นโดยตรง - ดังนั้นจึงทำการทดสอบ? ตัวอย่างเช่นฉันสามารถดูผลการทดสอบที่เกิดขึ้นจากชุดการทดสอบ jQueryได้หรือไม่โดยไม่ต้องดาวน์โหลดหรือคัดลอก repo ไปยังไดรฟ์ในเครื่องของฉัน ฉันรู้ว่าสิ่งนี้จะทำให้ GitHub เป็นธุรกิจโฮสติ้งเนื้อหาคงที่ แต่โดยทั่วไปแล้วพวกเขาเพียงแค่ต้องเปลี่ยนประเภท mime จากtext/plainเป็นtext/htmlเป็น
300 javascript  html  github 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.