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

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


11
ฉันจะขยายและยุบ <div> โดยใช้ javascript ได้อย่างไร
ฉันได้สร้างรายการบนไซต์ของฉันแล้ว รายการนี้สร้างขึ้นโดย foreach loop ที่สร้างด้วยข้อมูลจากฐานข้อมูลของฉัน แต่ละรายการเป็นคอนเทนเนอร์ที่มีส่วนต่างกันดังนั้นนี่จึงไม่ใช่รายการเช่น 1, 2, 3 ... ฯลฯ ฉันแสดงรายการส่วนที่ซ้ำพร้อมข้อมูล ในแต่ละส่วนจะมีส่วนย่อย การสร้างทั่วไปมีดังนี้: &lt;div&gt; &lt;fieldset class="majorpoints" onclick="majorpointsexpand($(this).find('legend').innerHTML)"&gt; &lt;legend class="majorpointslegend"&gt;Expand&lt;/legend&gt; &lt;div style="display:none" &gt; &lt;ul&gt; &lt;li&gt;&lt;/li&gt; &lt;li&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt; ดังนั้นฉันพยายามเรียกใช้ฟังก์ชันด้วย onclick = "majorpointsexpand ($ (this) .find ('legend'). innerHTML)" div ที่ฉันพยายามจัดการคือ style = "display: none" โดยค่าเริ่มต้นและฉันต้องการใช้ javascript เพื่อให้มองเห็นได้เมื่อคลิก "$ (this) .find …

12
ดาวน์โหลดไฟล์โดยใช้คำขอ ajax
ฉันต้องการส่ง "คำขอดาวน์โหลด ajax" เมื่อฉันคลิกที่ปุ่มดังนั้นฉันจึงลองด้วยวิธีนี้: จาวาสคริปต์: var xhr = new XMLHttpRequest(); xhr.open("GET", "download.php"); xhr.send(); download.php: &lt;? header("Cache-Control: public"); header("Content-Description: File Transfer"); header("Content-Disposition: attachment; filename= file.txt"); header("Content-Transfer-Encoding: binary"); readfile("file.txt"); ?&gt; แต่ไม่ได้ผลตามที่คาดหวังจะทำอย่างไร? ขอบคุณล่วงหน้า

7
วิธีตรวจสอบว่าแบบฟอร์มถูกต้องหรือไม่โดยใช้โปรแกรม jQuery Validation Plugin
ผมมีรูปแบบกับคู่ของปุ่มและฉันใช้ jQuery การตรวจสอบจากปลั๊กอินhttp://jquery.bassistance.de/validate/ ฉันแค่อยากรู้ว่ามีวิธีใดบ้างที่ฉันสามารถตรวจสอบได้ว่าแบบฟอร์มนั้นถือว่าอยู่ในสถานะที่ถูกต้องหรือไม่โดยปลั๊กอินตรวจสอบ jquery จากที่ใดก็ได้ในรหัสจาวาสคริปต์

9
จำกัด จำนวนป้ายกำกับบนแผนภูมิเส้น Chart.js
ฉันต้องการแสดงจุดทั้งหมดในแผนภูมิของฉันจากข้อมูลที่ฉันได้รับ แต่ฉันไม่ต้องการแสดงป้ายกำกับทั้งหมดสำหรับพวกเขาเนื่องจากแผนภูมินั้นอ่านไม่ได้มากนัก ฉันกำลังมองหาในเอกสาร แต่ไม่พบพารามิเตอร์ใด ๆ ที่จะ จำกัด สิ่งนี้ ฉันไม่ต้องการใช้เพียงสามป้ายเนื่องจากแผนภูมิถูก จำกัด ไว้ที่สามจุด เป็นไปได้ไหม? ฉันมีบางอย่างในขณะนี้: ถ้าฉันสามารถออกทุกๆสามในสี่ป้ายก็จะดีมาก แต่ฉันไม่พบอะไรเลยเกี่ยวกับตัวเลือกป้ายกำกับ

20
สร้างสตริงรหัสผ่านแบบสุ่มพร้อมข้อกำหนดในจาวาสคริปต์
ฉันต้องการสร้างสตริงสุ่มที่ต้องมี 5 ตัวอักษรจาก az และ 3 ตัวเลข ฉันจะทำสิ่งนี้ด้วย JavaScript ได้อย่างไร? ฉันมีสคริปต์ต่อไปนี้ แต่ไม่ตรงตามข้อกำหนดของฉัน var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; var string_length = 8; var randomstring = ''; for (var i=0; i&lt;string_length; i++) { var rnum = Math.floor(Math.random() * chars.length); randomstring += chars.substring(rnum,rnum+1); }
96 javascript 

2
ฉันจะกำหนด scrollHeight ได้อย่างไร
ฉันจะกำหนด scrollHeight ของการหารได้อย่างไรโดยใช้ css overflow: auto ฉันได้ลองแล้ว: $('test').scrollHeight(); $('test').height(); but that just returns the size of the div not all the content ท้ายที่สุดฉันพยายามสร้างการแชทและมีแถบเลื่อนไปยังข้อความปัจจุบันบนหน้าจอเสมอ ดังนั้นฉันจึงคิดบางอย่างดังนี้: var test = $('test').height(); $('test').scrollTop(test); ขอบคุณ, ไบรอัน

2
Javascript สัญญากับความอยากรู้อยากเห็น
เมื่อฉันเรียกสัญญานี้ผลลัพธ์จะไม่ตรงกับลำดับของการเรียกฟังก์ชัน การ.thenมาก่อน.catchแม้ว่าสัญญากับ.thenจะถูกเรียกตาม เหตุผลนั้นคืออะไร? const verifier = (a, b) =&gt; new Promise((resolve, reject) =&gt; (a &gt; b ? resolve(true) : reject(false))); verifier(3, 4) .then((response) =&gt; console.log("response: ", response)) .catch((error) =&gt; console.log("error: ", error)); verifier(5, 4) .then((response) =&gt; console.log("response: ", response)) .catch((error) =&gt; console.log("error: ", error)); เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายข้อมูลโค้ด เอาท์พุท node promises.js response: true …

16
วิธีจัดการการอ้างอิง JavaScript ฝั่งไคลเอ็นต์? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ แม้ว่าจะมีโซลูชันที่ยอดเยี่ยมในการจัดการการอ้างอิงบนฝั่งเซิร์ฟเวอร์ แต่ฉันไม่พบสิ่งใดที่ตรงตามความต้องการทั้งหมดของฉันในการมีเวิร์กโฟลว์การจัดการการพึ่งพา JavaScript ฝั่งไคลเอ็นต์ที่สอดคล้องกัน ฉันต้องการปฏิบัติตามข้อกำหนด 5 ข้อนี้: การจัดการด้านการอ้างอิงของลูกค้าในรูปแบบคล้ายกับ NPM ของpackage.jsonหรือซุ้ม 'sbower.json ควรมีความยืดหยุ่นในการชี้ไปที่ git repo หรือไฟล์ js จริง (ทั้งบนเว็บหรือในเครื่อง) ในdependency.jsonไฟล์ของฉันสำหรับไลบรารีที่รู้จักกันน้อย (npm ให้คุณชี้ไปที่ git repos) ควรลดขนาดและเนมสเปซไลบรารีทั้งหมดลงในไฟล์เดียวเช่นender - นั่นเป็นไฟล์ js เดียวที่ฉันต้องใส่ใน&lt;script&gt;แท็กของฉันในฝั่งไคลเอ็นต์ ควรมีการรองรับ CoffeeScript เช่น BoxJS 4นอกกรอบ(ตอนนี้ตายแล้ว) ในเบราว์เซอร์ฉันควรจะใช้ได้อย่างใดอย่างหนึ่งต้องมีสไตล์: var $ = require('jquery'); var _ …

7
แบบฟอร์มที่ไม่มีการดำเนินการและโดยที่ Enter จะไม่โหลดหน้าซ้ำ
ฉันกำลังมองหาวิธีใหม่ล่าสุดในการสร้างแบบฟอร์ม HTML ที่ไม่มีปุ่มส่ง นั่นเป็นเรื่องง่ายพอสมควร แต่ฉันก็ต้องหยุดแบบฟอร์มไม่ให้โหลดตัวเองซ้ำเมื่อทำสิ่งที่ต้องการส่งเสร็จแล้ว (เช่นการกดปุ่มEnterในช่องข้อความ)
96 javascript  html  forms 

9
Chai: วิธีทดสอบ undefined ด้วยไวยากรณ์ 'should'
จากบทช่วยสอนนี้ทดสอบแอป angularjs กับ chai ฉันต้องการเพิ่มการทดสอบสำหรับค่าที่ไม่ได้กำหนดโดยใช้สไตล์ "should" สิ่งนี้ล้มเหลว: it ('cannot play outside the board', function() { scope.play(10).should.be.undefined; }); มีข้อผิดพลาด "TypeError: ไม่สามารถอ่านคุณสมบัติ" should "ของ undefined" แต่การทดสอบผ่านไปด้วยลักษณะ "คาดหวัง": it ('cannot play outside the board', function() { chai.expect(scope.play(10)).to.be.undefined; }); ฉันจะทำให้มันทำงานร่วมกับ "ควร" ได้อย่างไร

4
แนวทางปฏิบัติที่ดีที่สุดในการลดกิจกรรม Garbage Collector ใน Javascript
ฉันมีแอป Javascript ที่ค่อนข้างซับซ้อนซึ่งมีลูปหลักที่เรียกว่า 60 ครั้งต่อวินาที ดูเหมือนว่าจะมีการรวบรวมขยะจำนวนมากเกิดขึ้น (ตามเอาต์พุต 'ฟันเลื่อย' จากไทม์ไลน์หน่วยความจำในเครื่องมือ Chrome dev) - และสิ่งนี้มักส่งผลกระทบต่อประสิทธิภาพของแอปพลิเคชัน ดังนั้นฉันจึงพยายามค้นคว้าแนวทางปฏิบัติที่ดีที่สุดในการลดปริมาณงานที่พนักงานเก็บขยะต้องทำ (ข้อมูลส่วนใหญ่ที่ฉันสามารถหาได้บนเว็บเกี่ยวกับการหลีกเลี่ยงการรั่วไหลของหน่วยความจำซึ่งเป็นคำถามที่แตกต่างกันเล็กน้อย - หน่วยความจำของฉันได้รับการปลดปล่อยเพียงแค่มีการรวบรวมขยะมากเกินไป) ฉันสมมติว่า สิ่งนี้ส่วนใหญ่มาจากการนำวัตถุกลับมาใช้ใหม่ให้มากที่สุด แต่แน่นอนว่าปีศาจอยู่ในรายละเอียด แอปพลิเคมีโครงสร้างใน 'เรียน' ตามสายของจอห์นเรซิกง่าย JavaScript มรดก ฉันคิดว่าปัญหาหนึ่งคือบางฟังก์ชันสามารถเรียกได้หลายพันครั้งต่อวินาที (เนื่องจากมีการใช้งานหลายร้อยครั้งในระหว่างการวนซ้ำของลูปหลักแต่ละครั้ง) และบางทีตัวแปรการทำงานภายในในฟังก์ชันเหล่านี้ (สตริงอาร์เรย์ ฯลฯ ) อาจเป็นปัญหา ฉันตระหนักถึงการรวมกันของวัตถุสำหรับวัตถุที่ใหญ่กว่า / หนักกว่า (และเราใช้สิ่งนี้ในระดับหนึ่ง) แต่ฉันกำลังมองหาเทคนิคที่สามารถนำไปใช้ทั่วกระดานโดยเฉพาะอย่างยิ่งที่เกี่ยวข้องกับฟังก์ชันที่เรียกหลายครั้งในการวนซ้ำที่แน่นหนา . ฉันสามารถใช้เทคนิคอะไรเพื่อลดปริมาณงานที่พนักงานเก็บขยะต้องทำ? และบางทีอาจใช้เทคนิคอะไรในการระบุว่าวัตถุใดถูกเก็บขยะมากที่สุด (เป็นโค้ดเบสที่ใหญ่มากดังนั้นการเปรียบเทียบสแน็ปช็อตของฮีปจึงไม่เกิดผลมากนัก)

2
การผูก ng-model ภายใน ng-repeat loop ใน AngularJS
ฉันกำลังพยายามจัดการกับปัญหาของขอบเขตภายในการวนซ้ำ ng-repeat - ฉันได้เรียกดูคำถามหลายข้อ แต่ยังไม่สามารถทำให้รหัสของฉันทำงานได้ รหัสคอนโทรลเลอร์: function Ctrl($scope) { $scope.lines = [{text: 'res1'}, {text:'res2'}]; } ดู: &lt;div ng-app&gt; &lt;div ng-controller="Ctrl"&gt; &lt;div ng-repeat="line in lines"&gt; &lt;div class="preview"&gt;{{text}}{{$index}}&lt;/div&gt; &lt;/div&gt; &lt;div ng-repeat="line in lines"&gt; &lt;-- typing here should auto update it's preview above --&gt; &lt;input value="{{line.text}}" ng-model="text{{$index}}"/&gt; &lt;!-- many other fields here that …

23
ปิดใช้งานการวางข้อความลงในรูปแบบ HTML
มีวิธีการใช้ JavaScript เพื่อปิดการใช้งานความสามารถในการวางข้อความลงในช่องข้อความในรูปแบบ HTML หรือไม่? เช่นฉันมีแบบฟอร์มการลงทะเบียนอย่างง่ายซึ่งผู้ใช้จะต้องป้อนอีเมลสองครั้ง รายการอีเมลที่สองคือการตรวจสอบว่าไม่มีการพิมพ์ผิดในรายการอีเมลแรก อย่างไรก็ตามหากผู้ใช้คัดลอก / วางอีเมลของพวกเขานั่นก็จะผิดวัตถุประสงค์และฉันพบว่าผู้ใช้มีปัญหาเนื่องจากป้อนอีเมลผิดและคัดลอก / วาง บางทีฉันอาจไม่ชัดเจนในคำถามของฉัน แต่ฉันไม่ได้พยายามป้องกันไม่ให้คนอื่นคัดลอก (หรือลากการเลือก) ข้อความบนเบราว์เซอร์ของพวกเขา ฉันแค่ต้องการหยุดพวกเขาจากการวางอินพุตลงในช่องข้อความเพื่อลดข้อผิดพลาดของผู้ใช้ บางทีแทนที่จะใช้ "แฮ็ก" นี้คุณสามารถแนะนำวิธีแก้ไขปัญหาหลักของสิ่งที่ฉันกำลังพยายามแก้ไขอยู่ที่นี่ได้หรือไม่? ฉันได้ทำการทดสอบผู้ใช้ไม่ถึงครึ่งโหลและเกิดขึ้นสองครั้งแล้ว ผู้ชมของฉันไม่มีความสามารถด้านคอมพิวเตอร์ในระดับสูง


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