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

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

5
รับฟังเหตุการณ์ที่แนบมากับโหนดโดยใช้ addEventListener
ฉันได้ดูคำถามเหล่านี้แล้ว: จะค้นหาตัวฟังเหตุการณ์บนโหนด DOM เมื่อทำการดีบักหรือจากโค้ด JavaScript ได้อย่างไร ฉันสามารถตรวจสอบและแก้ไขตัวจัดการเหตุการณ์ Javascript บนองค์ประกอบ html โดยทางโปรแกรมได้หรือไม่ วิธีดีบักการผูกเหตุการณ์ JavaScript / jQuery ด้วย Firebug (หรือเครื่องมือที่คล้ายกัน) อย่างไรก็ตามไม่มีใครตอบได้ว่าจะรับรายชื่อผู้ฟังเหตุการณ์ที่เชื่อมต่อกับโหนดได้addEventListenerอย่างไรโดยไม่ต้องแก้ไขaddEventListenerต้นแบบก่อนที่จะสร้างตัวฟังเหตุการณ์ VisualEventไม่แสดงตัวฟังเหตุการณ์ทั้งหมด (เฉพาะสำหรับ iPhone) และฉันต้องการทำสิ่งนี้ (ค่อนข้าง) โดยใช้โปรแกรม

19
XMLHttpRequest สถานะ 0 (responseText ว่างเปล่า)
ไม่สามารถรับข้อมูลด้วย XMLHttpRequest (สถานะ 0 และ responseText ว่างเปล่า): xmlhttp = XMLHttpRequest ใหม่ (); xmlhttp.open ("GET", "http://www.w3schools.com/XML/cd_catalog.xml", จริง); xmlhttp.onreadystatechange = ฟังก์ชัน () { ถ้า (xmlhttp.readyState == 4) การแจ้งเตือน ("สถานะ" + xmlhttp.status); } xmlhttp.send (); มันแจ้งเตือน "สถานะ 0" สถานการณ์เดียวกันกับคำร้องขอ localhost (cd_catalog.xml ถูกบันทึกเป็นไฟล์โลคัล) xmlhttp.open ("GET", "http: //localhost/cd_catalog.xml", จริง); แต่มีคำขอ IP ของ localhost xmlhttp.open ("GET", …

1
ประสิทธิภาพของ Javascript: 'for' vs 'forEach' [closed]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ อะไรคือมาตรฐานปัจจุบันในปี 2017 ใน Javascript ที่มีสำหรับ () ลูปกับ a .forEach ฉันกำลังทำงานของฉันผ่านทางหนุ่มสตีล "Web Dev Bootcamp" ใน Udemy และเขาโปรดปรานforEachมากกว่าforในคำสอนของพระองค์ ฉันได้ แต่ค้นหาสิ่งต่างๆในระหว่างการออกกำลังกายเป็นส่วนหนึ่งของการทำงานการเรียนการสอนและฉันพบมากขึ้นและคำแนะนำเพิ่มเติมที่จะใช้for-loop forEachมากกว่า คนส่วนใหญ่ดูเหมือนจะระบุว่า for loop นั้นมีประสิทธิภาพมากกว่า นี่คือสิ่งที่เปลี่ยนแปลงไปตั้งแต่เริ่มเขียนหลักสูตร (ประมาณปี 2015) หรือเป็นข้อดีข้อเสียของแต่ละข้อซึ่งจะได้เรียนรู้ด้วยประสบการณ์ที่มากขึ้น คำแนะนำใด ๆ จะได้รับการชื่นชมอย่างมาก

6
ปัญหาการสั่งซื้อ onclick () และ onblur ()
ฉันมีช่องป้อนข้อมูลที่แสดงเมนูแบบเลื่อนลงที่กำหนดเอง ฉันต้องการฟังก์ชันต่อไปนี้: เมื่อผู้ใช้คลิกที่ใดก็ได้นอกช่องป้อนข้อมูลเมนูควรถูกลบออก หากโดยเฉพาะอย่างยิ่งผู้ใช้คลิกที่ div ภายในเมนูเมนูควรถูกลบออกและการประมวลผลพิเศษควรเกิดขึ้นตามการคลิก div นี่คือการใช้งานของฉัน: ช่องป้อนข้อมูลมีonblur()เหตุการณ์ที่ลบเมนู (โดยการตั้งค่าระดับบนสุดinnerHTMLเป็นสตริงว่าง) เมื่อใดก็ตามที่ผู้ใช้คลิกนอกช่องป้อนข้อมูล div ภายในเมนูยังมีonclick()เหตุการณ์ที่เรียกใช้การประมวลผลพิเศษ ปัญหาคือonclick()เหตุการณ์จะไม่เริ่มทำงานเมื่อคลิกเมนูเนื่องจากช่องป้อนข้อมูลonblur()เริ่มทำงานก่อนและลบเมนูรวมถึงonclick()s! ฉันจะแก้ไขปัญหาโดยการแยก divs เมนูonclick()เข้าonmousedown()และonmouseup()เหตุการณ์ที่เกิดขึ้นและการตั้งธงทั่วโลกในการลงเมาส์ซึ่งจะถูกล้างบนเมาส์ขึ้นคล้ายกับสิ่งที่ได้รับการแนะนำในคำตอบนี้ เนื่องจากonmousedown()เริ่มทำงานก่อนonblur()การตั้งค่าสถานะจะถูกตั้งค่าonblur()หากมีการคลิก div เมนูใดเมนูหนึ่ง แต่จะไม่เกิดขึ้นหากอยู่ที่อื่นบนหน้าจอ หากเมนูถูกคลิกฉันจะกลับทันทีonblur()โดยไม่ต้องลบเมนูจากนั้นรอonclick()ให้ไฟเริ่มทำงานเมื่อถึงจุดนั้นฉันสามารถลบเมนูได้อย่างปลอดภัย มีวิธีแก้ปัญหาที่หรูหรากว่านี้หรือไม่? รหัสมีลักษณะดังนี้: <div class="menu" onmousedown="setFlag()" onmouseup="doProcessing()">...</div> <input id="input" onblur="removeMenu()" ... /> var mouseflag; function setFlag() { mouseflag = true; } function removeMenu() { if (!mouseflag) { document.getElementById('menu').innerHTML = …


4
เหตุใดจึงใช้ Object.prototype.hasOwnProperty.call (myObj, prop) แทน myObj.hasOwnProperty (prop)
ถ้าฉันเข้าใจอย่างถูกต้องแต่ละวัตถุใน JavaScript จะสืบทอดมาจาก Object ต้นแบบซึ่งหมายความว่าแต่ละวัตถุใน JavaScript สามารถเข้าถึงฟังก์ชัน hasOwnProperty ผ่านสายโซ่ต้นแบบได้ ในขณะที่อ่านซอร์สโค้ดของRequireJSฉันสะดุดกับฟังก์ชันนี้: function hasProp(obj, prop) { return hasOwn.call(obj, prop); } hasOwnObject.prototype.hasOwnPropertyมีการอ้างอิงถึง มีความแตกต่างในทางปฏิบัติในการเขียนฟังก์ชันนี้เป็น function hasProp(obj, prop) { return obj.hasOwnProperty(prop); } และเนื่องจากเราอยู่ที่นั่นทำไมเราถึงกำหนดฟังก์ชันนี้เลย? เป็นเพียงคำถามเกี่ยวกับทางลัดและการแคชการเข้าถึงคุณสมบัติในเครื่องเพื่อเพิ่มประสิทธิภาพการทำงาน (เล็กน้อย) หรือฉันพลาดกรณีใด ๆ ที่อาจใช้ hasOwnProperty กับวัตถุที่ไม่มีวิธีนี้หรือไม่?

14
removeEventListener บนฟังก์ชันที่ไม่ระบุชื่อใน JavaScript
ฉันมีวัตถุที่มีวิธีการอยู่ในนั้น วิธีการเหล่านี้ใส่ลงในวัตถุภายในฟังก์ชันที่ไม่ระบุตัวตน ดูเหมือนว่า: var t = {}; window.document.addEventListener("keydown", function(e) { t.scroll = function(x, y) { window.scrollBy(x, y); }; t.scrollTo = function(x, y) { window.scrollTo(x, y); }; }); (มีรหัสมากกว่านี้มาก แต่ก็เพียงพอที่จะแสดงปัญหา) ตอนนี้ฉันต้องการหยุดผู้ฟังเหตุการณ์ในบางกรณี ดังนั้นฉันจึงพยายามทำ removeEventListener แต่ฉันคิดไม่ออกว่าจะทำอย่างไร ฉันได้อ่านในคำถามอื่น ๆ ว่าไม่สามารถเรียก removeEventListener ในฟังก์ชันที่ไม่ระบุชื่อได้ แต่ในกรณีนี้ก็เป็นเช่นกันหรือไม่ ฉันมีวิธีการใน t ที่สร้างขึ้นภายในฟังก์ชันที่ไม่ระบุตัวตนดังนั้นฉันจึงคิดว่ามันเป็นไปได้ มีลักษณะดังนี้: t.disable = function() { window.document.removeEventListener("keydown", this, false); …

7
setInterval ในแอป React
ฉันยังค่อนข้างใหม่ที่ React แต่ฉันค่อยๆบดไปเรื่อย ๆ และฉันเจอบางอย่างที่ฉันติดขัด ฉันกำลังพยายามสร้างองค์ประกอบ "ตัวจับเวลา" ใน React และพูดตามตรงว่าฉันไม่รู้ว่าฉันทำถูกต้อง (หรือมีประสิทธิภาพ) ในรหัสของฉันด้านล่างผมตั้งรัฐที่จะกลับวัตถุ{ currentCount: 10 }และได้รับ toying กับcomponentDidMount, componentWillUnmountและrenderและฉันเท่านั้นจะได้รับของรัฐที่จะ "นับถอยหลัง" 10-9 คำถามสองส่วน: ฉันผิดอะไร และมีวิธีที่มีประสิทธิภาพมากกว่าในการใช้ setTimeout (แทนที่จะใช้componentDidMount& componentWillUnmount) หรือไม่? ขอบคุณล่วงหน้า. import React from 'react'; var Clock = React.createClass({ getInitialState: function() { return { currentCount: 10 }; }, componentDidMount: function() { this.countdown = …

6
เมื่อใดควรใช้ Yarn ผ่าน NPM? อะไรคือความแตกต่าง?
อะไรคือความแตกต่างระหว่างYarnและ NPM? ในขณะที่เขียนคำถามนี้ฉันสามารถค้นหาบทความบางอย่างเกี่ยวกับการแสดงอินเทอร์เน็ตสิ่งที่เปรียบเสมือนเส้นด้ายของคำสั่ง NPM เช่นนี้ พวกเขามีฟังก์ชันการทำงานเหมือนกันหรือไม่ (ฉันรู้ว่า Yarn ทำแคชในเครื่องและดูเหมือนว่าคุณจะต้องดาวน์โหลดแพ็คเกจเพียงครั้งเดียว) แต่นอกเหนือจากนี้มีประโยชน์อะไรบ้างสำหรับการย้ายจาก NPM ไปยัง Yarn
107 javascript  npm  yarnpkg 

7
Angular Karma Jasmine Error: สถานะไม่ถูกต้อง: ไม่สามารถโหลดข้อมูลสรุปสำหรับคำสั่ง
ฉันกำลังพัฒนาที่เก็บ github (ที่มี angular 7 และ angular-cli) และฉันมีการทดสอบบางอย่างกับ Karma และ Jasmine ที่ทำงานในสาขาหลัก ตอนนี้ฉันกำลังพยายามเพิ่มคุณสมบัติการโหลดขี้เกียจสิ่งคือการทดสอบก่อนที่จะผ่านตอนนี้พวกเขาไม่ทำ มันตลกเพราะมีเพียงการทดสอบจากโมดูลการโหลดที่ขี้เกียจเท่านั้นที่ล้มเหลว ... นี่คือรหัสและข้อผิดพลาด: import {async, TestBed} from '@angular/core/testing'; import {APP_BASE_HREF} from '@angular/common'; import {AppModule} from '../../app.module'; import {HeroDetailComponent} from './hero-detail.component'; describe('HeroDetailComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [AppModule ], providers: [ {provide: APP_BASE_HREF, useValue: '/'} …

28
จะกำหนดค่าที่เลือกของ jquery select2 ได้อย่างไร?
นี่เป็นของรหัสก่อนหน้า select2 เวอร์ชัน 4 ฉันมีรหัสง่ายๆในการselect2รับข้อมูลจาก ajax $("#programid").select2({ placeholder: "Select a Program", allowClear: true, minimumInputLength: 3, ajax: { url: "ajax.php", dataType: 'json', quietMillis: 200, data: function (term, page) { return { term: term, //search term flag: 'selectprogram', page: page // page number }; }, results: function (data) { return {results: data}; …

19
React.js - อินพุตสูญเสียโฟกัสเมื่อแสดงผล
ฉันแค่เขียนลงในการป้อนข้อความและในonChangeกรณีที่ฉันโทรsetStateไปดังนั้น React จะแสดงผล UI ของฉันอีกครั้ง ปัญหาคือการป้อนข้อความมักจะเสียโฟกัสดังนั้นฉันต้องโฟกัสอีกครั้งสำหรับแต่ละตัวอักษร: D var EditorContainer = React.createClass({ componentDidMount: function () { $(this.getDOMNode()).slimScroll({height: this.props.height, distance: '4px', size: '8px'}); }, componentDidUpdate: function () { console.log("zde"); $(this.getDOMNode()).slimScroll({destroy: true}).slimScroll({height: 'auto', distance: '4px', size: '8px'}); }, changeSelectedComponentName: function (e) { //this.props.editor.selectedComponent.name = $(e.target).val(); this.props.editor.forceUpdate(); }, render: function () { var style …

5
วิธีการแปลง 1 เป็นจริงหรือ 0 เป็นเท็จเมื่อดึงโมเดล
ฉันมีโมเดลที่ตั้งค่าด้วยการตอบสนอง JSON จากฐานข้อมูล mysql ข้อมูลที่มีการตั้งค่ารูปแบบที่มีจริงหรือเท็จลงในเขตข้อมูลแบบบูล / TINYINT ในฐานข้อมูลซึ่งใช้หรือ10 _.isBooleanในมุมมองของฉันฉันมีผลผูกพันการตรวจสอบว่าสำหรับบูลกับขีด แน่นอนเมื่อโมเดลของฉันได้รับข้อมูลมันจะถูกตั้งค่าด้วย1หรือ0แทนที่จะเป็นจริงหรือเท็จและการ_.isBooleanตรวจสอบล้มเหลว มีอยู่แล้วหรือไม่ที่จะมีการตอบสนอง JSON ของฉันอย่างถูกต้องจาก mysql เป็นค่าบูลีนจริงหรือเท็จแทน1หรือ0หรือควรมีวิธีที่จะให้โมเดลของฉันอัปเดตตัวเองเมื่อดึง (และก่อนที่จะแสดงผลการดู) เพื่อแคสต์trueหรือfalseตาม เป็น 1 หรือ 0 คุณสมบัติ? เช่นข้อมูลของโมเดลของฉันดูเหมือนว่า{"isChecked":"1"}เมื่อไหร่ที่ฉันต้องการ{"isChecked":true} ขอบคุณมากสำหรับคำแนะนำใด ๆ ที่คุณมี!


23
จะรับองค์ประกอบสุ่มจำนวนหนึ่งจากอาร์เรย์ได้อย่างไร?
ฉันกำลังดำเนินการเกี่ยวกับ 'วิธีเข้าถึงองค์ประกอบแบบสุ่มจากอาร์เรย์ในจาวาสคริปต์' ฉันพบลิงค์มากมายเกี่ยวกับเรื่องนี้ ชอบ: รับ ไอเท็มสุ่มจากอาร์เรย์ JavaScript var item = items[Math.floor(Math.random()*items.length)]; แต่ในนี้เราสามารถเลือกได้เพียงรายการเดียวจากอาร์เรย์ ถ้าเราต้องการมากกว่าหนึ่งองค์ประกอบเราจะบรรลุสิ่งนี้ได้อย่างไร? เราจะได้รับมากกว่าหนึ่งองค์ประกอบจากอาร์เรย์ได้อย่างไร?

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