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

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

5
ทำไม 2+ 40 เท่ากับ 42
ฉันรู้สึกงุนงงเมื่อเพื่อนร่วมงานแสดงบรรทัด JavaScript นี้ให้ฉัน 42 alert(2+ 40); เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายตัวอย่างข้อมูล มันกลับกลายเป็นว่าสิ่งที่ดูเหมือนเครื่องหมายลบจริงๆแล้วคืออักขระ Unicode แบบอาร์เคนที่มีความหมายต่างกันอย่างชัดเจน นี่ทำให้ฉันสงสัยว่าทำไมตัวละครตัวนั้นถึงไม่สร้างข้อผิดพลาดทางไวยากรณ์เมื่อมีการวิเคราะห์คำ ฉันก็อยากจะรู้ว่ามีตัวละครมากขึ้นเช่นนี้หรือไม่


8
กำลังตรวจจับการเปลี่ยนแปลงอินพุตใน jQuery หรือไม่
เมื่อใช้ jquery .changeกับinputเหตุการณ์จะถูกไล่ออกเมื่ออินพุตขาดโฟกัสเท่านั้น ในกรณีของฉันฉันต้องโทรไปที่บริการ (ตรวจสอบว่าค่าถูกต้อง) ทันทีที่มีการเปลี่ยนแปลงค่าอินพุต ฉันจะทำสิ่งนี้ได้อย่างไร
359 javascript  jquery  html 

11
การลบวัตถุใน JavaScript
ฉันสับสนกับdeleteโอเปอเรเตอร์ของ JavaScript รับรหัสต่อไปนี้: var obj = { helloText: "Hello World!" }; var foo = obj; delete obj; หลังจากชิ้นส่วนของรหัสนี้ได้รับการดำเนินการobjเป็นnullแต่ยังหมายถึงวัตถุที่ว่าเหมือนfoo objฉันเดาว่าวัตถุนี้เป็นวัตถุเดียวกับที่fooชี้ไป สับสนนี้เราเพราะเราคาดว่าการเขียนที่delete objถูกลบวัตถุที่ถูกชี้ไปในหน่วยความจำที่ไม่ได้เป็นเพียงตัวแปรobjobj นี่เป็นเพราะ Garbage Collector ของจาวาสคริปต์ทำงานบนการรักษา / ปล่อยดังนั้นถ้าฉันไม่มีตัวแปรอื่น ๆ ที่ชี้ไปที่วัตถุมันจะถูกลบออกจากหน่วยความจำ? (โดยวิธีการทดสอบของฉันเสร็จใน Safari 4)

3
Google Maps & JavaFX: แสดงเครื่องหมายบนแผนที่หลังจากคลิกปุ่ม JavaFX
ฉันพยายามแสดงเครื่องหมายบนแผนที่เมื่อฉันคลิกที่ปุ่มของแอปพลิเคชัน JavaFX ของฉัน ดังนั้นสิ่งที่เกิดขึ้นคือเมื่อฉันคลิกที่ปุ่มนั้นฉันเขียนตำแหน่งในไฟล์ JSON ไฟล์นี้จะถูกโหลดในไฟล์ html ที่มีแผนที่ ปัญหาคือมันทำงานได้อย่างสมบูรณ์เมื่อฉันเปิดหน้า html ในเบราว์เซอร์ แต่ไม่มีอะไรเกิดขึ้นในมุมมองเว็บของ JavaFX และฉันไม่รู้ว่าทำไม! นี่คือไฟล์ html: <!DOCTYPE html> <html> <head> <title>Simple Map</title> <meta name="viewport" content="initial-scale=1.0"> <meta charset="utf-8"> <style> /* Always set the map height explicitly to define the size of the div * element that contains the map. */ /*#map …

14
React - เปลี่ยนอินพุตที่ไม่ได้ควบคุม
ฉันมีองค์ประกอบการตอบสนองที่เรียบง่ายด้วยแบบฟอร์มซึ่งฉันเชื่อว่ามีอินพุตที่ควบคุมได้หนึ่งรายการ: import React from 'react'; export default class MyForm extends React.Component { constructor(props) { super(props); this.state = {} } render() { return ( <form className="add-support-staff-form"> <input name="name" type="text" value={this.state.name} onChange={this.onFieldChange('name').bind(this)}/> </form> ) } onFieldChange(fieldName) { return function (event) { this.setState({[fieldName]: event.target.value}); } } } export default MyForm; เมื่อฉันเรียกใช้แอปพลิเคชันของฉันฉันจะได้รับคำเตือนต่อไปนี้: คำเตือน: MyForm …

15
ผลของการเพิ่ม 'return false' ให้กับฟังเหตุการณ์คลิกคืออะไร
หลายครั้งที่ฉันเห็นลิงก์เช่นนี้ในหน้า HTML: <a href='#' onclick='someFunc(3.1415926); return false;'>Click here !</a> ผลของสิ่งที่return falseอยู่ในนั้น? นอกจากนี้ฉันมักจะไม่เห็นปุ่ม สิ่งนี้ระบุไว้ที่ไหนหรือไม่? ในสเป็คบางอย่างใน w3.org?
359 javascript  html 

20
เหตุการณ์การเปลี่ยนแปลงที่น่าพึงพอใจ
ฉันต้องการที่จะเรียกใช้ฟังก์ชั่นเมื่อผู้ใช้แก้ไขเนื้อหาที่divมีcontenteditableแอตทริบิวต์ onchangeเหตุการณ์เท่ากับอะไร ฉันใช้ jQuery ดังนั้นจึงควรเลือกใช้โซลูชันใด ๆ ที่ใช้ jQuery ขอบคุณ!

6
jQuery - หลาย $ (เอกสาร). Ready …?
คำถาม: หากฉันลิงก์ในไฟล์ JavaScript สองไฟล์ทั้งที่มี$(document).readyฟังก์ชั่นจะเกิดอะไรขึ้น หนึ่งเขียนทับอีกหรือไม่ หรือทั้งสอง$(document).readyได้รับการเรียก? ตัวอย่างเช่น, <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> <script type="text/javascript" src="http://.../jquery1.js"></script> <script type="text/javascript" src="http://.../jquery2.js"></script> jquery1.js: $(document).ready(function(){ $("#page-title").html("Document-ready was called!"); }); jquery2.js: $(document).ready(function(){ $("#page-subtitle").html("Document-ready was called!"); }); ฉันแน่ใจว่าเป็นวิธีปฏิบัติที่ดีที่สุดในการรวมการโทรทั้งสองเข้าไว้ด้วยกัน$(document).readyในสถานการณ์ของฉัน
359 javascript  jquery 

24
แท็บ Bootstrap Twitter: ไปที่แท็บเฉพาะบนหน้าโหลดซ้ำหรือเชื่อมโยงหลายมิติ
ฉันกำลังพัฒนาหน้าเว็บที่ฉันใช้ทวิตเตอร์ของเงินทุนของพวกเขาและกรอบBootstrap แท็บ JS มันใช้งานได้ดีมากยกเว้นปัญหาเล็ก ๆ น้อย ๆ ซึ่งหนึ่งในนั้นคือฉันไม่รู้ว่าจะไปยังแท็บเฉพาะจากลิงก์ภายนอกได้อย่างไร ตัวอย่างเช่น: <a href="facility.php#home">Home</a> <a href="facility.php#notes">Notes</a> ควรไปที่แท็บหน้าแรกและแท็บหมายเหตุตามลำดับเมื่อคลิกที่ลิงก์จากหน้าภายนอก

1
รายการมุมมองวิธีการ getListItemXmlAttributes ล้มเหลวด้วยรายการสิ่งพิมพ์เด็ก
ฉันสร้างคลาส JS เพื่อเติมข้อมูลมุมมองรายการ SG / Folder เมื่อมีการแก้ไขรายการ ( ตามแนวทางของ Jaime) ทุกอย่างใช้งานได้ดีเมื่อฉันทำงานกับรายการในสิ่งพิมพ์ที่พวกเขาสร้างขึ้น ตัวอย่าง:ฉันเปิดส่วนประกอบหรือหน้าและlocked byคอลัมน์ที่กำหนดเองจะอัปเดตและแสดงชื่อผู้ใช้ของฉันทันที อย่างไรก็ตามเมื่อฉันไปที่สิ่งพิมพ์ย่อยและทำซ้ำขั้นตอนนั้นฉันจะได้รับหน้าต่างถามว่าฉันต้องการแปลหรือแก้ไขรายการหลัก หากฉันเลือกที่จะแก้ไขหน้าต่างหลักรหัสจะไม่ทำงาน ฉันยังไม่ได้คิดออกเลยด้วยการดีบักเริ่มต้น Chrome ดูเหมือนจะกลืนข้อผิดพลาด Firefox ให้ความลับแก่ฉัน: เวลา: 6/22/2012 3:42:54 PM ข้อผิดพลาด: ข้อยกเว้นที่ไม่ได้ตรวจสอบ: [ข้อยกเว้น ... "คอมโพเนนต์ส่งคืนรหัสความล้มเหลว: 0x80004002 (NS_NOINTERFACE) [nsIWebProgress.DOMWindow]" nsresult: "0x80004002 (NS_NOINTERFACE)" ที่ตั้ง: "JS frame :: chrome: // browser / content / tabbrowser .xml :: :: ข้อมูลบรรทัด …

19
ตรวจสอบว่าอาร์เรย์ว่างเปล่าหรือมีอยู่จริง
เมื่อหน้ากำลังโหลดเป็นครั้งแรกฉันจำเป็นต้องตรวจสอบว่ามีรูปภาพอยู่หรือไม่image_arrayและโหลดรูปภาพสุดท้าย มิฉะนั้นฉันจะปิดการใช้งานปุ่มแสดงตัวอย่างเตือนผู้ใช้ให้กดปุ่มภาพใหม่และสร้างอาร์เรย์ว่างเพื่อใส่ภาพ; ปัญหาคือimage_arrayในelseไฟตลอดเวลา หากมีอาร์เรย์อยู่ - มันจะแทนที่มัน แต่การแจ้งเตือนจะไม่ทำงาน if(image_array.length > 0) $('#images').append('<img src="'+image_array[image_array.length-1]+'" class="images" id="1" />'); else{ $('#prev_image').attr('disabled', 'true'); $('#next_image').attr('disabled', 'true'); alert('Please get new image'); var image_array = []; } อัปเดตก่อนที่จะโหลด html ฉันมีสิ่งนี้: <?php if(count($images) != 0): ?> <script type="text/javascript"> <?php echo "image_array = ".json_encode($images);?> </script> <?php endif; ?>
358 javascript  jquery 

8
ความแตกต่างระหว่าง console.dir และ console.log คืออะไร
ใน Chrome consoleวัตถุจะกำหนดวิธีการสองวิธีที่ดูเหมือนจะทำสิ่งเดียวกัน: console.log(...) console.dir(...) ฉันอ่านบางแห่งออนไลน์ที่dirใช้สำเนาของวัตถุก่อนที่จะทำการบันทึกในขณะที่logเพิ่งผ่านการอ้างอิงไปยังคอนโซลซึ่งหมายความว่าเมื่อคุณไปตรวจสอบวัตถุที่คุณบันทึกมันอาจมีการเปลี่ยนแปลง อย่างไรก็ตามการทดสอบเบื้องต้นบางอย่างชี้ให้เห็นว่าไม่มีความแตกต่างและทั้งคู่ประสบกับการแสดงวัตถุในสถานะที่แตกต่างจากเมื่อพวกเขาถูกบันทึก ลองสิ่งนี้ในคอนโซล Chrome ( Ctrl+ Shift+ J) เพื่อดูว่าฉันหมายถึงอะไร: > o = { foo: 1 } > console.log(o) > o.foo = 2 ตอนนี้ขยาย[Object]ใต้คำสั่งบันทึกและแจ้งให้ทราบว่ามันแสดงให้เห็นว่าfooมีมูลค่า 2. เดียวกันเป็นจริงถ้าคุณทำซ้ำการทดลองใช้แทนdirlog คำถามของฉันคือทำไมทั้งสองฟังก์ชั่นที่เหมือนกันดูเหมือนว่ามีอยู่ในconsole?

16
เหตุใดจึงต้องหลีกเลี่ยงตัวดำเนินการเพิ่ม (“ ++”) และตัวลด (“ -”) ใน JavaScript
หนึ่งในเคล็ดลับสำหรับเครื่องมือ jslintคือ: ++ และ - ผู้ประกอบการ ++ (เพิ่มขึ้น) และ - (ลดลง) ได้รับการรู้จักในการมีส่วนร่วมกับรหัสที่ไม่ดีโดยการส่งเสริมความยุ่งยากมากเกินไป พวกเขาเป็นที่สองเท่านั้นที่สถาปัตยกรรมผิดพลาดในการเปิดใช้งานไวรัสและภัยคุกคามความปลอดภัยอื่น ๆ มีตัวเลือก plusplus ที่ห้ามการใช้งานของผู้ประกอบการเหล่านี้ ฉันรู้ว่า PHP สร้างเหมือน$foo[$bar++]มีได้อย่างง่ายดายอาจส่งผลกับการปิดโดยหนึ่งข้อผิดพลาด แต่ฉันไม่สามารถคิดออกวิธีที่ดีกว่าที่จะควบคุมห่วงกว่าที่หรือwhile( a < 10 ) do { /* foo */ a++; }for (var i=0; i<10; i++) { /* foo */ } jslint เน้นที่ภาษานั้นเพราะมีบางภาษาที่คล้ายกันที่ไม่มีไวยากรณ์ " ++" และ " --" หรือจัดการแตกต่างกันหรือมีเหตุผลอื่น ๆ …

5
ไฟล์ Javascript .map - ซอร์สแผนที่ javascript
เมื่อเร็ว ๆ นี้ฉันได้เห็นไฟล์ที่มี.js.mapส่วนขยายที่จัดส่งมาพร้อมกับไลบรารี JavaScript บางตัว (เช่นAngular ) และนั่นทำให้เกิดคำถามสองสามข้อในหัวของฉัน: มีไว้เพื่ออะไร? ทำไมคนที่ Angular สนใจส่ง.js.mapไฟล์? ฉันจะใช้angular.min.js.mapไฟล์(ในฐานะนักพัฒนา JavaScript) ได้อย่างไร ฉันควรสนใจเกี่ยวกับการสร้าง.js.mapไฟล์สำหรับแอปพลิเคชัน JavaScript ของฉันหรือไม่ มันถูกสร้างขึ้นมาได้อย่างไร? ฉันลองดูangular.min.js.mapและมันก็เต็มไปด้วยสตริงที่มีรูปแบบแปลก ๆ ดังนั้นฉันจึงคิดว่ามันไม่ได้ถูกสร้างขึ้นด้วยตนเอง

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