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

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

16
เชิงมุมและ debounce
ใน AngularJS ฉันสามารถลบล้างโมเดลโดยใช้ตัวเลือก ng-model ng-model-options="{ debounce: 1000 }" ฉันจะลบล้างโมเดลใน Angular ได้อย่างไร ฉันพยายามค้นหา debounce ในเอกสาร แต่ไม่พบอะไรเลย https://angular.io/search/#stq=debounce&stp=1 ทางออกคือการเขียนฟังก์ชั่น debounce ของตัวเองเช่น: import {Component, Template, bootstrap} from 'angular2/angular2'; // Annotation section @Component({ selector: 'my-app' }) @Template({ url: 'app.html' }) // Component controller class MyAppComponent { constructor() { this.firstName = 'Name'; } changed($event, el){ …

15
วิธีการตรวจสอบว่ามีการเปลี่ยนแปลง URL หลังจากแฮชใน JavaScript
ฉันจะตรวจสอบว่า URL มีการเปลี่ยนแปลงใน JavaScript ได้อย่างไร ตัวอย่างเช่นเว็บไซต์เช่น GitHub ซึ่งใช้ AJAX จะต่อท้ายข้อมูลหน้าหลังสัญลักษณ์ # เพื่อสร้าง URL ที่ไม่ซ้ำโดยไม่ต้องโหลดหน้าซ้ำ วิธีที่ดีที่สุดในการตรวจสอบว่า URL นี้มีการเปลี่ยนแปลงอย่างไร เป็นonloadเหตุการณ์ที่เรียกว่าอีกครั้งหรือไม่ มีตัวจัดการเหตุการณ์สำหรับ URL หรือไม่ หรือต้องตรวจสอบ URL ทุก ๆ วินาทีเพื่อตรวจสอบการเปลี่ยนแปลง?
160 javascript  ajax 


3
$ {} (เครื่องหมายดอลลาร์และเครื่องหมายปีกกา) หมายความว่าอะไรในสตริงใน Javascript
ฉันไม่เห็นอะไรที่นี่หรือใน MDN ฉันแน่ใจว่าฉันเพิ่งพลาดบางสิ่ง จะต้องมีเอกสารเกี่ยวกับเรื่องนี้อยู่ที่ไหนสักแห่ง? ฟังก์ชั่นดูเหมือนว่าจะช่วยให้คุณสามารถซ้อนตัวแปรภายในสตริงโดยไม่ต้องต่อข้อมูลโดยใช้+โอเปอเรเตอร์ ฉันกำลังมองหาเอกสารเกี่ยวกับคุณสมบัตินี้ ตัวอย่าง: var string = 'this is a string'; console.log(`Insert a string here: ${string}`); เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายตัวอย่างข้อมูล

9
รับวิวพอร์ต / ความสูงของหน้าต่างใน ReactJS
ฉันจะรับความสูงวิวพอร์ตใน ReactJS ได้อย่างไร ในจาวาสคริปต์ปกติฉันใช้ window.innerHeight() แต่ใช้ ReactJS ฉันไม่แน่ใจว่าจะรับข้อมูลนี้ได้อย่างไร ความเข้าใจของฉันคือ ReactDOM.findDomNode() ใช้งานได้กับส่วนประกอบที่สร้างขึ้นเท่านั้น อย่างไรก็ตามนี่ไม่ใช่กรณีสำหรับdocumentหรือbodyองค์ประกอบซึ่งอาจให้ความสูงของหน้าต่าง

11
แสดงผลสตริง HTML เป็น HTML จริงในองค์ประกอบ React
นี่คือสิ่งที่ฉันพยายามและมันผิดพลาดอย่างไร งานนี้: <div dangerouslySetInnerHTML={{ __html: "<h1>Hi there!</h1>" }} /> สิ่งนี้ไม่: <div dangerouslySetInnerHTML={{ __html: this.props.match.description }} /> คุณสมบัติคำอธิบายเป็นเพียงสตริงปกติของเนื้อหา HTML อย่างไรก็ตามมันแสดงผลเป็นสตริงไม่ใช่ HTML ด้วยเหตุผลบางประการ ข้อเสนอแนะใด ๆ
160 javascript  html  reactjs  jsx 


8
รับแอตทริบิวต์ข้อมูลในโค้ด JavaScript
ฉันมี html ถัดไป: <span data-typeId="123" data-type="topic" data-points="-1" data-important="true" id="the-span"></span> เป็นไปได้หรือไม่ที่จะรับแอตทริบิวต์ที่ขึ้นต้นด้วยdata-และใช้ในโค้ดJavaScriptเช่นโค้ดด้านล่าง สำหรับตอนนี้ฉันได้รับnullผล document.getElementById("the-span").addEventListener("click", function(){ var json = JSON.stringify({ id: parseInt(this.typeId), subject: this.datatype, points: parseInt(this.points), user: "H. Pauwelyn" }); });

11
forEach ไม่ใช่ข้อผิดพลาดของฟังก์ชันกับอาร์เรย์ JavaScript
ฉันกำลังพยายามสร้างลูปง่ายๆ: const parent = this.el.parentElement console.log(parent.children) parent.children.forEach(child => { console.log(child) }) แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: VM384: 53 Uncaught TypeError: parent.children.forEach ไม่ใช่ฟังก์ชัน แม้ว่าparent.childrenบันทึก: อะไรคือปัญหา? หมายเหตุ: นี่เป็นJSFiddle

19
วิธีกรองอาร์เรย์จากองค์ประกอบทั้งหมดของอาร์เรย์อื่น
ฉันต้องการที่จะเข้าใจวิธีที่ดีที่สุดที่จะกรองอาร์เรย์จากองค์ประกอบทั้งหมดของอีกคนหนึ่ง ฉันลองใช้ฟังก์ชั่นตัวกรอง แต่มันไม่ได้มาให้ฉันว่าจะให้ค่าที่ฉันต้องการลบได้อย่างไร สิ่งที่ต้องการ: var array = [1,2,3,4]; var anotherOne = [2,4]; var filteredArray = array.filter(myCallback); // filteredArray should now be [1,3] function myCallBack(){ return element ! filteredArray; //which clearly can't work since we don't have the reference <,< } ในกรณีที่ฟังก์ชันตัวกรองไม่เป็นประโยชน์คุณจะใช้สิ่งนี้อย่างไร แก้ไข: ฉันตรวจสอบคำถามที่อาจซ้ำกันแล้วและอาจเป็นประโยชน์สำหรับผู้ที่เข้าใจจาวาสคริปต์ได้ง่าย คำตอบที่ตรวจสอบแล้วว่าดีทำให้สิ่งต่างๆง่ายขึ้น

5
Direct vs. Delegated - jQuery .on ()
ฉันพยายามที่จะเข้าใจความแตกต่างนี้โดยเฉพาะระหว่างโดยตรงและได้รับการแต่งตั้งจัดการเหตุการณ์โดยใช้jQuery .on ()วิธีการ ประโยคสุดท้ายในย่อหน้านี้โดยเฉพาะ: เมื่อselectorมีให้จัดการเหตุการณ์จะเรียกว่าได้รับมอบหมาย ตัวจัดการจะไม่ถูกเรียกเมื่อเหตุการณ์เกิดขึ้นโดยตรงกับองค์ประกอบที่ถูกผูก แต่สำหรับลูกหลาน (องค์ประกอบภายใน) ที่ตรงกับตัวเลือก jQuery ทำให้ฟองเหตุการณ์จากเหตุการณ์เป้าหมายไปยังองค์ประกอบที่แนบตัวจัดการ (กล่าวคือภายในสุดถึงองค์ประกอบนอกสุด) และเรียกใช้ตัวจัดการสำหรับองค์ประกอบใด ๆ ตามเส้นทางนั้นที่ตรงกับตัวเลือก การ "เรียกใช้ตัวจัดการสำหรับองค์ประกอบใด ๆ " หมายความว่าอย่างไร ฉันทำหน้าทดสอบเพื่อทดสอบด้วยแนวคิด แต่โครงสร้างทั้งสองต่อไปนี้นำไปสู่พฤติกรรมที่เหมือนกัน: $("div#target span.green").on("click", function() { alert($(this).attr("class") + " is clicked"); }); หรือ, $("div#target").on("click", "span.green", function() { alert($(this).attr("class") + " is clicked"); }); บางทีใครบางคนอาจอ้างถึงตัวอย่างที่แตกต่างเพื่อชี้แจงประเด็นนี้? ขอบคุณ

9
วิธีการปัดเศษขึ้นตัวเลขใน Javascript?
ฉันต้องการใช้จาวาสคริปต์เพื่อปัดเศษตัวเลข เนื่องจากตัวเลขเป็นสกุลเงินฉันต้องการให้ปัดเศษขึ้นในตัวอย่างเหล่านี้ (ทศนิยม 2 ตำแหน่ง): 192.168 => 192.20 192.11 => 192.20 192.21 => 192.30 192.26 => 192.30 192.20 => 192.20 จะบรรลุสิ่งนี้ได้อย่างไรโดยใช้ Javascript ฟังก์ชัน Javascript ในตัวจะปัดเศษตัวเลขตามตรรกะมาตรฐาน (น้อยกว่าและมากกว่า 5 เพื่อปัดเศษขึ้น)

2
ตั้งค่าส่วนหัว HTTP สำหรับคำขอเดียว
ฉันมีคำขอหนึ่งคำขอในแอปของฉันที่ต้องมีการตรวจสอบสิทธิ์พื้นฐานดังนั้นฉันจึงจำเป็นต้องตั้งค่าหัวข้อการให้สิทธิ์สำหรับคำขอนั้น ฉันอ่านเกี่ยวกับการตั้งค่าส่วนหัวคำขอ HTTPแต่จากสิ่งที่ฉันสามารถบอกได้มันจะตั้งค่าส่วนหัวนั้นสำหรับคำขอทั้งหมดของวิธีการนั้น ฉันมีสิ่งนี้ในรหัสของฉัน: $http.defaults.headers.post.Authorization = "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="; แต่ฉันไม่ต้องการให้คำขอโพสต์ส่งคำขอส่วนหัวนี้ทุกครั้ง มีวิธีใดที่จะส่งส่วนหัวสำหรับคำขอเดียวที่ฉันต้องการ หรือฉันต้องลบออกหลังจากที่ขอมา?

10
วิธีที่ดีที่สุดในการเพิ่ม JavaScript เฉพาะหน้าในแอพ Rails 3?
Rails 3 มี JavaScript ที่ไม่สร้างความรำคาญซึ่งเยี่ยมมาก แต่ฉันสงสัยว่าวิธีที่ดีที่สุดคือการรวม JavaScript เพิ่มเติมสำหรับหน้าใดหน้าหนึ่ง ตัวอย่างเช่นที่ฉันอาจทำก่อนหน้านี้: <%= f.radio_button :rating, 'positive', :onclick => "$('some_div').show();" %> ตอนนี้เราสามารถทำให้มันไม่เป็นการรบกวนกับสิ่งที่ชอบ <%= f.radio_button :rating, 'positive' %> # then in some other file $('user_rating_positive').click(function() { $('some_div').show(); } ดังนั้นฉันเดาคำถามของฉันคือที่ / วิธีการรวม JavaScript ที่? ฉันไม่ต้องการเติมapplication.jsไฟล์เพราะ JavaScript นี้ใช้ได้กับมุมมองนี้เท่านั้น ฉันควรจะรวมไฟล์ JavaScript ที่กำหนดเองสำหรับแต่ละหน้าหรืออย่างใดอย่างหนึ่งหรือติดไว้ในตัวแปรอินสแตนซ์ที่ส่วนหัวมองหา?

9
การอัพโหลดไฟล์โดยตรงของ Amazon S3 จากเบราว์เซอร์ไคลเอ็นต์ - การเปิดเผยคีย์ส่วนตัว
ฉันกำลังใช้การอัปโหลดไฟล์โดยตรงจากเครื่องไคลเอนต์ไปยัง Amazon S3 ผ่าน REST API โดยใช้ JavaScript เท่านั้นโดยไม่มีรหัสฝั่งเซิร์ฟเวอร์ ทำงานได้ดี แต่มีสิ่งหนึ่งที่ทำให้ฉันกังวล ... เมื่อฉันส่งคำขอไปยัง Amazon S3 REST API ฉันต้องลงชื่อคำขอและใส่ลายเซ็นในAuthenticationส่วนหัว ในการสร้างลายเซ็นฉันต้องใช้รหัสลับของฉัน แต่ทุกสิ่งเกิดขึ้นในฝั่งไคลเอ็นต์ดังนั้นคีย์ลับสามารถเปิดเผยได้อย่างง่ายดายจากแหล่งที่มาของหน้าเว็บ (แม้ว่าฉันจะทำให้งงงวย / เข้ารหัสแหล่งที่มาของฉัน) ฉันจะจัดการสิ่งนี้ได้อย่างไร และมันเป็นปัญหาหรือเปล่า? บางทีฉันสามารถ จำกัด การใช้คีย์ส่วนตัวที่เจาะจงเฉพาะกับการเรียกใช้ REST API จาก CORS Origin ที่เฉพาะเจาะจงและเฉพาะวิธี PUT และ POST หรืออาจเชื่อมโยงคีย์ไปที่ S3 เท่านั้นและที่เก็บข้อมูลเฉพาะ อาจจะมีวิธีการรับรองความถูกต้องอื่นได้หรือไม่ โซลูชัน "Serverless" นั้นเหมาะสมที่สุด แต่ฉันสามารถพิจารณาเกี่ยวกับการประมวลผลเซิร์ฟเวอร์บางตัวได้ยกเว้นการอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ของฉันแล้วส่งไปยัง S3

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