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

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

10
การดำเนินการคำสั่งเชลล์ node.js
ฉันยังคงพยายามเข้าใจประเด็นที่ละเอียดกว่าว่าฉันสามารถรันคำสั่ง linux หรือ windows shell และจับเอาท์พุทภายใน node.js ได้อย่างไร ท้ายที่สุดฉันอยากทำอะไรแบบนี้ ... //pseudocode output = run_command(cmd, args) ส่วนที่สำคัญคือoutputต้องพร้อมใช้งานสำหรับตัวแปร (หรืออ็อบเจ็กต์) ที่มีขอบเขตทั่วโลก ฉันลองใช้ฟังก์ชั่นต่อไปนี้ แต่ด้วยเหตุผลบางอย่างฉันได้รับการundefinedพิมพ์ลงคอนโซล ... function run_cmd(cmd, args, cb) { var spawn = require('child_process').spawn var child = spawn(cmd, args); var me = this; child.stdout.on('data', function(me, data) { cb(me, data); }); } foo = new …

8
วิธีกรอง (คีย์ค่า) ด้วย ng-repeat ใน AngularJs
ฉันกำลังพยายามทำสิ่งที่ชอบ: <div ng-controller="TestCtrl"> <div ng-repeat="(k,v) in items | filter:hasSecurityId"> {{k}} {{v.pos}} </div> </div> AngularJs ส่วน: function TestCtrl($scope) { $scope.items = { 'A2F0C7':{'secId':'12345', 'pos':'a20'}, 'C8B3D1':{'pos':'b10'} }; $scope.hasSecurityId = function(k,v) { return v.hasOwnProperty('secId'); } } แต่อย่างใดมันแสดงให้ฉันเห็นทุกรายการ ฉันจะกรอง (คีย์ค่า) ได้อย่างไร

1
พื้นหลังโปร่งใสด้วยสาม js
รหัสใช้งานได้ แต่ฉันมีปัญหาในการตั้งค่าพื้นหลังโปร่งใสให้กับผืนผ้าใบด้วย three.js ฉันใช้: Background.renderer.setClearColor(0xffffff, 0); แต่แล้วพื้นหลังก็กลายเป็นสีดำ ฉันจะเปลี่ยนให้โปร่งใสได้อย่างไร? รหัส: var camera, scene, renderer; var mouseX = 0, mouseY = 0; var p; var windowHalfX = site.Width / 2; var windowHalfY = site.Height / 2; Background.camera = new THREE.PerspectiveCamera( 35, site.Width / site.Height, 1, 2000 ); Background.camera.position.z = 300; //camera.position.y = …

11
ตั้งค่าข้อความตรวจสอบความถูกต้องของฟิลด์ HTML5 ที่กำหนดเอง
การตรวจสอบความถูกต้องของฟิลด์ที่กำหนดเอง ฉันมีรูปแบบเดียวที่มีช่องป้อนข้อมูลหลายช่อง ฉันใส่การตรวจสอบความถูกต้อง html5 <input type="text" name="topicName" id="topicName" required /> เมื่อฉันส่งแบบฟอร์มโดยไม่กรอกกล่องข้อความนี้จะแสดงข้อความเริ่มต้นเช่น "Please fill out this field" ใครก็ได้โปรดช่วยฉันแก้ไขข้อความนี้ ฉันมีรหัสจาวาสคริปต์ที่จะแก้ไข แต่ใช้งานไม่ได้ $(document).ready(function() { var elements = document.getElementsByName("topicName"); for (var i = 0; i < elements.length; i++) { elements[i].oninvalid = function(e) { e.target.setCustomValidity(""); if (!e.target.validity.valid) { e.target.setCustomValidity("Please enter Room Topic Title"); } }; …
113 javascript  jquery  html 

6
Chrome / jQuery Uncaught RangeError: เกินขนาดสแต็กการโทรสูงสุด
ฉันได้รับข้อผิดพลาด "Uncaught RangeError: ขนาดสแต็กการโทรสูงสุดเกิน" บน Chrome นี่คือฟังก์ชั่น jQuery ของฉัน $('td').click(function () { if ($(this).context.id != null && $(this).context.id != '') { foo($('#docId').val(), $(this).attr('id')); } return false; }); สังเกตว่ามีเซลล์นับหมื่นในหน้า อย่างไรก็ตามโดยทั่วไปฉันเชื่อมโยงสแต็คล้นกับการเรียกซ้ำและในกรณีนี้เท่าที่ฉันเห็นไม่มีเลย การสร้างแลมบ์ดาเช่นนี้จะทำให้เกิดภาระในสแตกโดยอัตโนมัติหรือไม่? มีวิธีใดบ้าง? ในขณะนี้วิธีแก้ปัญหาเดียวที่ฉันมีคือการสร้างเหตุการณ์ onclick อย่างชัดเจนในแต่ละเซลล์เมื่อแสดงผล HTML ซึ่งทำให้ HTML มีขนาดใหญ่ขึ้นมาก

15
ตรวจจับการเปลี่ยนแปลงเนื้อหาองค์ประกอบด้วย jQuery
change() ฟังก์ชันทำงานและตรวจจับการเปลี่ยนแปลงขององค์ประกอบฟอร์ม แต่มีวิธีตรวจจับเมื่อเนื้อหาขององค์ประกอบ DOM เปลี่ยนแปลงหรือไม่ สิ่งนี้ไม่ได้ผลเว้นแต่#contentจะเป็นองค์ประกอบแบบฟอร์ม $("#content").change( function(){ // do something }); ฉันต้องการให้สิ่งนี้กระตุ้นเมื่อทำสิ่งต่างๆเช่น: $("#content").html('something'); นอกจากนี้html()หรือappend()ฟังก์ชันไม่มีการโทรกลับ ข้อเสนอแนะใด ๆ ?
113 javascript  jquery  dom 

9
Javascript ยืนยันป๊อปอัปใช่ปุ่มไม่ใช่แทนตกลงและยกเลิก
Javascript ยืนยันป๊อปอัปฉันต้องการแสดงปุ่มใช่ไม่ใช่แทนตกลงและยกเลิก ฉันใช้รหัส vbscript นี้: <script language="javascript"> function window.confirm(str) { execScript('n = msgbox("' + str + '","4132")', "vbscript"); return (n == 6); } </script> ใช้งานได้เฉพาะใน IE, ใน FF และ Chrome เท่านั้นไม่ทำงาน มีวิธีการทำงานใดบ้างในการบรรลุเป้าหมายนี้ใน Javascript ฉันต้องการเปลี่ยนชื่อของป๊อปอัปเช่นใน IE 'Windows Internet Explorer' ปรากฏขึ้นฉันต้องการแสดงชื่อแอปพลิเคชันของฉันเองที่นี่

17
ปิดใช้งานเอฟเฟกต์โฮเวอร์บนเบราว์เซอร์มือถือ
ฉันกำลังเขียนเว็บไซต์ที่ตั้งใจจะใช้ทั้งจากเดสก์ท็อปและแท็บเล็ต เมื่อมีการเยี่ยมชมจากเดสก์ท็อปฉันต้องการให้พื้นที่ที่คลิกได้ของหน้าจอสว่างขึ้นพร้อมเอ:hoverฟเฟกต์ (สีพื้นหลังที่แตกต่างกัน ฯลฯ ) เมื่อใช้แท็บเล็ตไม่มีเมาส์ดังนั้นฉันจึงไม่ต้องการเอฟเฟกต์แบบโฮเวอร์ใด ๆ ปัญหาคือเมื่อฉันแตะอะไรบางอย่างบนแท็บเล็ตเบราว์เซอร์จะมี "เคอร์เซอร์ของเมาส์ที่มองไม่เห็น" บางชนิดซึ่งย้ายไปยังตำแหน่งที่ฉันแตะแล้วปล่อยไว้ที่นั่นดังนั้นสิ่งที่ฉันเพิ่งแตะจะสว่างขึ้นพร้อมกับ เลื่อนเอฟเฟกต์จนกว่าฉันจะแตะอย่างอื่น ฉันจะรับเอฟเฟกต์โฮเวอร์ได้อย่างไรเมื่อฉันใช้เมาส์ แต่กดปุ่มเหล่านี้เมื่อฉันใช้หน้าจอสัมผัส ในกรณีที่มีคนคิดจะแนะนำฉันไม่ต้องการใช้การดมกลิ่นของตัวแทนผู้ใช้ อุปกรณ์เดียวกันอาจมีทั้งหน้าจอสัมผัสและเมาส์ (อาจจะไม่ธรรมดาในปัจจุบัน แต่มีอีกมากมายในอนาคต) ฉันไม่สนใจอุปกรณ์นี้ฉันสนใจวิธีการใช้งาน: เมาส์หรือหน้าจอสัมผัส ฉันพยายามแล้ว hooking touchstart, touchmoveและtouchendเหตุการณ์ที่เกิดขึ้นและเรียกpreventDefault()ทั้งหมดของพวกเขาซึ่งจะปราบ "การเคอร์เซอร์ของเมาส์ที่มองไม่เห็น" บางส่วนของเวลา; แต่ถ้าฉันแตะอย่างรวดเร็วไปมาระหว่างสององค์ประกอบที่แตกต่างกันหลังจากแตะสองสามครั้งมันจะเริ่มขยับ "เคอร์เซอร์ของเมาส์" และทำให้เอฟเฟกต์โฮเวอร์สว่างขึ้น - มันเหมือนกับว่าฉันpreventDefaultไม่ได้รับเกียรติเสมอไป ฉันจะไม่เบื่อคุณด้วยรายละเอียดเว้นแต่จำเป็น - ฉันไม่แน่ใจด้วยซ้ำว่านั่นเป็นแนวทางที่ถูกต้อง ถ้าใครมีวิธีแก้ไขที่ง่ายกว่านี้ฉันหูแว่ว แก้ไข:สิ่งนี้สามารถทำซ้ำได้ด้วย CSS มาตรฐานปลอม:hoverแต่นี่เป็นคำอธิบายสั้น ๆ สำหรับการอ้างอิง <style> .box { border: 1px solid black; width: 150px; height: 150px; …
113 javascript  hover  touch 

4
จับข้อยกเว้นที่ไม่ได้จัดการกับจาวาสคริปต์ทั้งหมด
ฉันกำลังพยายามค้นหาหรือหาวิธีแสดงในกล่องแจ้งเตือนข้อยกเว้นจาวาสคริปต์ที่ไม่ได้จัดการทั้งหมดในแอปพลิเคชัน ฉันต้องการให้ทั้งหมดนี้ทำในฝั่งไคลเอ็นต์โดยไม่ต้องใช้โค้ดฝั่งเซิร์ฟเวอร์ ฉันใช้ MVC3 เป็นสภาพแวดล้อม ฉันได้ทำการค้นคว้าในช่วงสองสามวันที่ผ่านมาและไม่พบสิ่งที่ฉันต้องการ ฉันพบ 2 วิธีด้านล่างซึ่งดูเหมือนว่าเกือบจะเป็นสิ่งที่ฉันกำลังมองหายกเว้นวิธีเหล่านี้ถูกตั้งค่าเพื่อให้คุณต้องส่งชื่อฟังก์ชันไปยังวิธีการที่กำหนดเองเพื่อพิมพ์การติดตามสแต็กของข้อยกเว้นที่ไม่ได้จัดการทั้งหมดภายในอันนั้น ฟังก์ชันเฉพาะ ฉันกำลังมองหาวิธีที่จะไม่ต้องส่งชื่อฟังก์ชันด้วยตนเองไปยังเมธอดแบบกำหนดเองที่พิมพ์การติดตามสแต็กของข้อยกเว้นที่ไม่ได้จัดการทั้งหมด ฉันต้องการให้วิธีการที่กำหนดเองเหล่านี้เพียงแค่ 'ฟัง' สำหรับข้อยกเว้นที่ไม่สามารถจัดการได้ทั้งหมดภายในแอปพลิเคชันทั้งหมด http://eriwen.com/javascript/js-stack-trace/ สิ่งที่คล้ายกับลิงค์ก่อนหน้านี้: https://github.com/eriwen/javascript-stacktrace นี่คือโค้ดพื้นฐานจากลิงค์ที่ 2 ด้านบนที่พิมพ์ stack trace ของฟังก์ชัน javascript ที่ระบุ: instrumentFunction: function (context, functionName, callback) { context = context || window; var original = context[functionName]; context[functionName] = function instrumented() { callback.call(this, printStackTrace().slice(4)); return context[functionName]._instrumented.apply(this, arguments); …
113 javascript 


11
กำหนดตัวแปรในคำสั่งเงื่อนไข if วิธีปฏิบัติที่ดีหรือไม่? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการเมื่อปีที่แล้ว ปรับปรุงคำถามนี้ ฉันย้ายจากภาษา OO คลาสสิกเช่น Java ไปเป็น JavaScript เมื่อหนึ่งปีก่อน ไม่แนะนำให้ใช้โค้ดต่อไปนี้ (หรือไม่ถูกต้อง) ใน Java: if(dayNumber = getClickedDayNumber(dayInfo)) { alert("day number found : " + dayNumber); } function getClickedDayNumber(dayInfo) { dayNumber = dayInfo.indexOf("fc-day"); if(dayNumber != -1) //substring found { //normally any calendar month consists of "40" …
113 javascript 

11
ตรวจสอบว่าองค์ประกอบ HTML มีแถบเลื่อนหรือไม่
วิธีใดที่เร็วที่สุดในการตรวจสอบว่าองค์ประกอบมีแถบเลื่อนหรือไม่ สิ่งหนึ่งที่แน่นอนคือการตรวจสอบว่าองค์ประกอบมีขนาดใหญ่กว่าวิวพอร์ตหรือไม่ซึ่งสามารถทำได้อย่างง่ายดายโดยตรวจสอบค่าทั้งสองนี้: el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth แต่นั่นไม่ได้หมายความว่ามันมีแถบเลื่อนด้วย (ดังนั้นมนุษย์จึงสามารถเลื่อนได้) คำถาม ฉันจะตรวจสอบแถบเลื่อนในเบราว์เซอร์1 แบบไขว้และ2จาวาสคริปต์เท่านั้น (เช่นเดียวกับที่ไม่มี jQuery ) ได้อย่างไร Javascript เท่านั้นเพราะฉันต้องการค่าใช้จ่ายที่น้อยที่สุดเพราะฉันต้องการเขียนตัวกรองตัวเลือก jQuery ที่รวดเร็วมาก // check for specific scrollbars $(":scrollable(x/y/both)") // check for ANY scrollbar $(":scrollable") ฉันคิดว่าฉันต้องตรวจสอบการoverflowตั้งค่าสไตล์ แต่ฉันจะทำได้อย่างไรในเบราว์เซอร์ข้าม? แก้ไขเพิ่มเติม overflowการตั้งค่าสไตล์ไม่เพียง การตรวจสอบว่าองค์ประกอบมีแถบเลื่อนนั้นไม่สำคัญเท่าที่ควร สูตรแรกที่ฉันเขียนไว้ข้างต้นใช้งานได้ดีเมื่อองค์ประกอบไม่มีเส้นขอบ แต่เมื่อเป็นเช่นนั้น (โดยเฉพาะอย่างยิ่งเมื่อเส้นขอบมีความกว้างมาก) offsetมิติอาจใหญ่กว่าscrollมิติ แต่องค์ประกอบยังสามารถเลื่อนได้ เราต้องลบเส้นขอบจากoffsetมิติข้อมูลเพื่อให้ได้วิวพอร์ตที่เลื่อนได้จริงขององค์ประกอบและเปรียบเทียบกับscrollมิติ สำหรับการอ้างอิงในอนาคต :scrollablejQuery selector filter รวมอยู่ใน.scrollintoview()ปลั๊กอิน …


10
รับค่าของสตริงหลังเครื่องหมายทับใน JavaScript
ฉันพยายามมานานกว่าหนึ่งชั่วโมงแล้วและไม่สามารถหาวิธีที่ถูกต้องได้แม้ว่ามันจะค่อนข้างง่าย: ฉันมีสิ่งนี้: foo/bar/test.html ฉันต้องการใช้ jQuery เพื่อแยกทุกอย่างหลังจากที่ผ่าน/มา test.htmlในตัวอย่างข้างต้นส่งออกจะเป็น ฉันเดาว่ามันสามารถทำได้โดยใช้substrและindexOf()แต่ฉันไม่พบวิธีแก้ปัญหาที่ใช้ได้

4
Regex เพื่อแทนที่ทุกอย่างยกเว้นตัวเลขและจุดทศนิยม
ฉันมีช่องข้อความที่ต้องคงไว้แค่ข้อความหรือทศนิยม นี่คือรหัสที่ฉันกำลังใช้เพื่อแทนที่ทุกอย่างยกเว้นตัวเลขและจุดทศนิยม ปัญหาคือฉันไม่สามารถหานิพจน์ทั่วไปที่จะระบุอย่างอื่นได้ document.getElementById(target).value = newVal.replace(/\D[^\.]/g, ""); \ D ใช้งานได้ดี แต่ฉันพยายามไปเรื่อย(?!.), (?!\.), [^.], [^\.]ๆ ... ข้อเสนอแนะสำหรับนิพจน์ทั่วไปที่ระบุในเชิงบวกกับสิ่งใด ๆ ยกเว้นตัวเลขหรือทศนิยม? ขอบคุณสำหรับความช่วยเหลือ
113 javascript  regex 

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