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

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

12
สร้างสตริงสุ่มสำหรับรหัส div
ฉันต้องการแสดงวิดีโอ YouTube บนเว็บไซต์ของฉัน แต่ฉันต้องสามารถเพิ่มเอกลักษณ์idให้กับวิดีโอแต่ละรายการที่ผู้ใช้จะแชร์ได้ ดังนั้นฉันจึงรวบรวมสิ่งนี้เข้าด้วยกันและฉันพบปัญหาเล็กน้อย ฉันพยายามรับ JavaScript เพื่อเพิ่มสตริงสุ่มสำหรับ div idแต่ใช้งานไม่ได้แสดงสตริง: <script type='text/javascript' src='jwplayer.js'></script> <script type='text/javascript'> function randomString(length) { var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''); if (! length) { length = Math.floor(Math.random() * chars.length); } var str = ''; for (var i = 0; i < length; i++) { str += chars[Math.floor(Math.random() * …
87 javascript 

10
เรียกใช้ "nvm use" โดยอัตโนมัติทุกครั้งที่มีไฟล์. nvmrc ในไดเร็กทอรี
วิธีกำหนดค่าเชลล์ของฉันเพื่อให้nvm useทำงานโดยอัตโนมัติทุกครั้งที่มีไฟล์. nvmrc ในไดเร็กทอรีและใช้เวอร์ชันล่าสุดหรือการกำหนดค่าส่วนกลางเมื่อไม่มีไฟล์. nvmrc

7
angularjs newline filter โดยไม่มี html อื่น ๆ
ฉันพยายามที่จะแปลงตัวอักษรขึ้นบรรทัดใหม่ ( \n) เป็น HTML br's ตามการสนทนานี้ใน Google Groupนี่คือสิ่งที่ฉันได้รับ: myApp.filter('newlines', function () { return function(text) { return text.replace(/\n/g, '<br/>'); } }); การอภิปรายยังแนะนำให้ใช้สิ่งต่อไปนี้ในมุมมอง: {{ dataFromModel | newline | html }} ดูเหมือนว่าจะใช้htmlตัวกรองเก่าในขณะที่ตอนนี้เราควรใช้ng-bind-htmlแอตทริบิวต์ ไม่ว่าสิ่งนี้จะทำให้เกิดปัญหา: ฉันไม่ต้องการให้ HTML ใด ๆ จากสตริงดั้งเดิม ( dataFromModel) แสดงผลเป็น HTML เฉพาะbrของ ตัวอย่างเช่นกำหนดสตริงต่อไปนี้: ในขณะที่ 7> 5 ฉันยังไม่ต้องการ html & ของที่นี่ ... …

5
วิธีการประกาศตัวแปรส่วนกลางในไฟล์. js
ฉันต้องการตัวแปรส่วนกลางสองสามตัวที่ฉันต้องการใน.jsไฟล์ทั้งหมด ตัวอย่างเช่นพิจารณา 4 ไฟล์ต่อไปนี้: global.js js1.js js2.js js3.js มีวิธีใดบ้างที่ฉันสามารถประกาศตัวแปรส่วนกลาง 3 ตัวในglobal.jsและเข้าถึงตัวแปรเหล่านั้นในอีก 3 .jsไฟล์โดยพิจารณาว่าฉันโหลด 4 ไฟล์ข้างต้นทั้งหมดลงในเอกสาร HTML ใครช่วยบอกฉันหน่อยได้ไหมว่าเป็นไปได้หรือมีวิธีแก้ไขเพื่อให้บรรลุสิ่งนี้?

7
ตัวจัดการเหตุการณ์สำหรับรายการแบบเลื่อนลงของ Twitter Bootstrap?
ฉันต้องการใช้ปุ่มแบบเลื่อนลง Twitter Bootstrap : <div class="btn-group"> <button class="btn dropdown-toggle" data-toggle="dropdown">Action <span class="caret"></span></button> <ul class="dropdown-menu"> <li><a href="#">Action</a></li> <li><a href="#">Another action</a></li> <li><a href="#">Something else here</a></li> </ul> </div><!-- /btn-group --> เมื่อผู้ใช้เปลี่ยนค่าของปุ่มเป็น "การกระทำอื่น" แทนที่จะเพียงแค่นำทางไปยัง#ฉันต้องการจัดการการกระทำด้วยวิธีที่กำหนดเอง แต่ฉันไม่เห็นตัวจัดการเหตุการณ์ใด ๆในปลั๊กอินแบบเลื่อนลงเพื่อทำสิ่งนี้ เป็นไปได้หรือไม่ที่จะใช้ปุ่มแบบเลื่อนลง Bootstrap เพื่อจัดการการกระทำของผู้ใช้ ฉันเริ่มสงสัยว่ามันมีไว้สำหรับการนำทางเท่านั้น - มันสับสนที่ตัวอย่างให้รายการการกระทำ

3
รับความสูงที่มองเห็นได้ของ div ด้วย jQuery
ฉันต้องการดึงความสูงที่มองเห็นได้ของ div ภายในพื้นที่ที่เลื่อนได้ ฉันคิดว่าตัวเองค่อนข้างดีกับ jQuery แต่นี่เป็นการทิ้งฉันไปโดยสิ้นเชิง สมมติว่าฉันมี div สีแดงภายในกระดาษห่อสีดำ: ในกราฟิกด้านบนฟังก์ชัน jQuery จะส่งคืน 248 ซึ่งเป็นส่วนที่มองเห็นได้ของ div เมื่อผู้ใช้เลื่อนผ่านด้านบนสุดของ div ดังภาพด้านบนก็จะรายงาน 296 ตอนนี้เมื่อผู้ใช้เลื่อนผ่าน div ไปแล้วผู้ใช้จะรายงาน 248 อีกครั้ง เห็นได้ชัดว่าตัวเลขของฉันจะไม่สม่ำเสมอและชัดเจนเหมือนที่อยู่ในการสาธิตนี้หรือฉันแค่ตั้งรหัสยากสำหรับตัวเลขเหล่านั้น ฉันมีทฤษฎีเล็กน้อย: รับความสูงของหน้าต่าง รับความสูงของ div รับค่าชดเชยเริ่มต้นของ div จากด้านบนของหน้าต่าง รับค่าชดเชยเมื่อผู้ใช้เลื่อน หากออฟเซ็ตเป็นค่าบวกแสดงว่าด้านบนของ div ยังมองเห็นได้ ถ้าเป็นค่าลบด้านบนของ div จะถูกปิดโดยหน้าต่าง ณ จุดนี้ div อาจใช้ความสูงทั้งหมดของหน้าต่างหรืออาจแสดงด้านล่างของ div ก็ได้ หากด้านล่างของ div ปรากฏขึ้นให้หาช่องว่างระหว่างมันกับด้านล่างของหน้าต่าง ดูเหมือนจะค่อนข้างเรียบง่าย แต่ฉันไม่สามารถโอบรอบมันได้ …


14
ซ่อนค่าบางอย่างในเอาต์พุตจาก JSON.stringify ()
เป็นไปได้ไหมที่จะยกเว้นบางฟิลด์ไม่ให้รวมอยู่ในสตริง json นี่คือรหัสหลอก var x = { x:0, y:0, divID:"xyz", privateProperty1: 'foo', privateProperty2: 'bar' } ฉันต้องการแยก privateProperty1 และ privateproperty2 ไม่ให้ปรากฏในสตริง json ดังนั้นฉันคิดว่าฉันสามารถใช้ฟังก์ชันตัวเปลี่ยนสตริงได้ function replacer(key,value) { if (key=="privateProperty1") then retun "none"; else if (key=="privateProperty2") then retun "none"; else return value; } และใน stringify var jsonString = json.stringify(x,replacer); แต่ใน jsonString ฉันยังคงเห็นว่าเป็น {...privateProperty1:value..., …
87 javascript  json 

8
ใน JavaScript อันตรายแค่ไหนที่จะถือว่า undefined ไม่ได้ถูกเขียนทับ?
ทุกคนทุกคนเวลาที่กล่าวถึงการทดสอบกับundefined, ก็ออกมาชี้ว่าundefinedไม่ได้เป็นคำหลักดังนั้นมันอาจจะกำหนดให้"hello"ดังนั้นคุณควรใช้ typeof x == "undefined"แทน นี่ดูไร้สาระสำหรับฉัน คงไม่มีใครทำแบบนั้นและถ้าพวกเขาทำมันจะมีเหตุผลเพียงพอที่จะไม่ใช้รหัสใด ๆ ที่พวกเขาเขียน ... ใช่ไหม? ผมพบว่าตัวอย่างหนึ่งของคนที่ตั้งใจตั้งundefinedไปnullและนี้ได้รับเป็นเหตุผลที่จะหลีกเลี่ยงการสมมติว่าundefinedไม่ถูกเขียนทับ แต่ถ้าพวกเขาทำเช่นนั้นข้อผิดพลาดจะไม่ถูกตรวจพบและฉันไม่เห็นว่ามันดีกว่าอย่างไร ใน C ++ ทุกคนตระหนักดีว่าการพูดถูกกฎหมาย#define true falseแต่ไม่มีใครเคยแนะนำให้คุณหลีกเลี่ยงtrueและใช้0 == 0แทน คุณคิดว่าคงไม่มีใครเป็นคนขี้เหวี่ยงมากพอที่จะทำเช่นนั้นและถ้าเป็นเช่นนั้นอย่าเชื่อรหัสของพวกเขาอีกเลย สิ่งนี้เคยกัดคนที่คนอื่นมอบหมายให้undefined(โดยตั้งใจ) และมันทำลายรหัสของคุณหรือนี่เป็นภัยคุกคามที่สมมติขึ้นหรือไม่? ฉันยินดีที่จะใช้โอกาสในการทำให้รหัสของฉันอ่านได้ง่ายขึ้นเล็กน้อย นี่เป็นความคิดที่แย่จริงๆหรือ? ขอย้ำอีกครั้งว่าฉันไม่ได้ถามถึงวิธีการป้องกันจากการมอบหมายใหม่ที่ไม่ได้กำหนด ฉันเคยเห็นกลเม็ดเหล่านั้นเขียนถึง 100 ครั้งแล้ว ฉันกำลังถามว่าการไม่ใช้กลอุบายเหล่านั้นอันตรายแค่ไหน

4
โพสต์ข้อมูลในรูปแบบ JSON
ฉันมีข้อมูลบางอย่างที่ต้องแปลงเป็นรูปแบบ JSON จากนั้นโพสต์ด้วยฟังก์ชัน JavaScript <body onload="javascript:document.myform.submit()"> <form action="https://www.test.net/Services/RegistrationService.svc/InviteNewContact" method="post" name="myform"> <input name="firstName" value="harry" /> <input name="lastName" value="tester" /> <input name="toEmail" value="testtest@test.com" /> </form> </body> นี่คือลักษณะของโพสต์ในขณะนี้ ฉันต้องการให้ส่งค่าในรูปแบบ JSON และทำ POST ด้วย JavaScript

5
การเปรียบเทียบวัตถุวันที่ JavaScript
เมื่อเปรียบเทียบออบเจ็กต์วันที่ใน Javascript ฉันพบว่าการเปรียบเทียบวันที่เดียวกันก็ไม่ได้เป็นจริง var startDate1 = new Date("02/10/2012"); var startDate2 = new Date("01/10/2012"); var startDate3 = new Date("01/10/2012"); alert(startDate1>startDate2); // true alert(startDate2==startDate3); //false ฉันจะเปรียบเทียบความเท่าเทียมกันของวันที่เหล่านี้ได้อย่างไร ฉันสนใจที่จะใช้Dateออบเจ็กต์ดั้งเดิมของ JS และไม่ใช่ไลบรารีของบุคคลที่สามเนื่องจากไม่เหมาะสมที่จะใช้ JS ของบุคคลที่สามเพียงเพื่อเปรียบเทียบวันที่
87 javascript 

4
วิธีค้นหาความยาวอาร์เรย์ภายในเทมเพลต Handlebar
ฉันมีเทมเพลต Handlebars ซึ่งแสดงผลโดยใช้วัตถุ json ใน json นี้ฉันกำลังส่งอาร์เรย์ แบบนี้: var json = { "array":["abc","def","ghi","jkl"] } ตอนนี้ในเทมเพลตของฉันฉันต้องการหาความยาวของอาร์เรย์นี้ สิ่งที่ต้องการ: {{#each item}} {{ array.length }} {{/each}} ไม่พบข้อมูลนี้ในเอกสาร Handlebars

3
: แตะ CSS หลอกคลาสหรืออะไรที่คล้ายกัน?
ฉันกำลังพยายามสร้างปุ่มซึ่งเมื่อผู้ใช้คลิกปุ่มนั้นจะเปลี่ยนรูปแบบขณะที่กดปุ่มเมาส์ค้าง ฉันยังต้องการให้เปลี่ยนรูปแบบในลักษณะเดียวกันหากสัมผัสในเบราว์เซอร์มือถือ สิ่งที่เห็นได้ชัดสำหรับฉันคือการใช้ CSS: active pseudo-class แต่ไม่ได้ผล ฉันพยายาม: โฟกัส แต่มันก็ไม่ได้ผลเช่นกัน ฉันลอง: วางเมาส์เหนือและดูเหมือนจะใช้งานได้ แต่มันยังคงรูปแบบไว้หลังจากที่ฉันเอานิ้วออกจากปุ่ม การสังเกตทั้งหมดนี้อยู่ใน iPhone 4 และ Droid 2 มีวิธีใดบ้างที่จะจำลองเอฟเฟกต์บนเบราว์เซอร์มือถือ (iPhone, iPad, Android และอื่น ๆ อีกมากมาย) ตอนนี้ฉันกำลังทำสิ่งนี้: <style type="text/css"> #testButton { background: #dddddd; } #testButton:active, #testButton.active { background: #aaaaaa; } </style> ... <button type="button" id="testButton">test</button> ... <script type='text/javascript' src='http://code.jquery.com/jquery-1.6.1.min.js'></script> <script …


14
วิธีการรวมค่าของวัตถุ JavaScript?
ฉันต้องการรวมค่าของวัตถุ ฉันคุ้นเคยกับ python ที่มันจะเป็น: sample = { 'a': 1 , 'b': 2 , 'c':3 }; summed = sum(sample.itervalues()) รหัสต่อไปนี้ใช้งานได้ แต่เป็นรหัสจำนวนมาก: function obj_values(object) { var results = []; for (var property in object) results.push(object[property]); return results; } function list_sum( list ){ return list.reduce(function(previousValue, currentValue, index, array){ return previousValue + currentValue; }); …

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