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

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

7
ฉันจะลบหรือแทนที่เนื้อหา SVG ได้อย่างไร
ฉันมีรหัส JavaScript ซึ่งสร้าง (โดยใช้ D3.js) svgองค์ประกอบที่มีแผนภูมิ ฉันต้องการอัปเดตแผนภูมิตามข้อมูลใหม่ที่มาจากบริการบนเว็บโดยใช้ AJAX ปัญหาคือทุกครั้งที่ฉันคลิกที่ปุ่มอัปเดตจะสร้างใหม่svgดังนั้นฉันจึงต้องการลบเก่าหรืออัปเดตเนื้อหา นี่คือตัวอย่างจากฟังก์ชั่น JavaScript ที่ฉันสร้างsvg: var svg = d3.select("body") .append("svg") .attr("width", w) .attr("height", h); ฉันจะลบsvgองค์ประกอบเก่าหรืออย่างน้อยแทนที่เนื้อหาได้อย่างไร
200 javascript  ajax  svg  d3.js 

1
ไม่แนะนำให้ใช้“ use เข้มงวด” ใน ES6?
ฉันยังไม่คุ้นเคยกับ ECMAScript 6 ฉันเพิ่งโคลน Repo Starter Kit repo ซึ่งใช้ ES6 สำหรับรหัสแอปพลิเคชัน ฉันประหลาดใจที่เห็นว่ามีการกำหนดค่า linter ให้ห้ามการใช้งานuse strictdirective ซึ่งฉันคิดว่าถูกแนะนำในจาวาสคริปต์ก่อน ES6 ดังนั้นประเด็นคืออะไร


6
การส่งตัวแปรไปยังมิดเดิลแวร์ถัดไปโดยใช้ next () ใน Express.js
คำถามของฉันคือฉันต้องการส่งตัวแปรบางตัวจากมิดเดิลแวร์แรกไปยังมิดเดิลแวร์อื่นและฉันลองทำสิ่งนี้ แต่มี " req.somevariableถูกกำหนดเป็น 'ไม่ได้กำหนด'" //app.js .. app.get('/someurl/', middleware1, middleware2) ... ////middleware1 ... some conditions ... res.somevariable = variable1; next(); ... ////middleware2 ... some conditions ... variable = req.somevariable; ...

18
เพียงแค่ปิดการใช้งานเลื่อนไม่ซ่อนมัน?
ฉันกำลังพยายามปิดใช้งานแถบเลื่อน html / body ของผู้ปกครองในขณะที่ฉันกำลังใช้ Lightbox คำหลักที่นี่คือปิดการใช้งาน ฉันไม่ได้overflow: hidden;ต้องการที่จะซ่อนมันด้วย สาเหตุของสิ่งนี้คือoverflow: hiddenทำให้ไซต์กระโดดและใช้พื้นที่ในการเลื่อน ฉันต้องการทราบว่ามันเป็นไปได้ที่จะปิดการใช้งานแถบเลื่อนในขณะที่ยังคงแสดงมัน
200 javascript  jquery  html  css 

9
การสร้างคีย์แบบไดนามิกในอาร์เรย์ที่เชื่อมโยงกับ JavaScript
ฉันจะสร้างคีย์แบบไดนามิกในอาร์เรย์ที่เชื่อมโยงกับจาวาสคริปต์ได้อย่างไร เอกสารทั้งหมดที่ฉันได้พบคือการอัปเดตคีย์ที่สร้างขึ้นแล้ว: arr['key'] = val; ฉันมีสตริงเช่นนี้ " name = oscar " และฉันต้องการที่จะจบลงด้วยสิ่งนี้: { name: 'whatever' } นั่นคือฉันแบ่งสตริงและรับองค์ประกอบแรกและฉันต้องการวางไว้ในพจนานุกรม รหัส var text = ' name = oscar ' var dict = new Array(); var keyValuePair = text.split(' = '); dict[ keyValuePair[0] ] = 'whatever'; alert( dict ); // prints nothing.

8
วิธีรับพารามิเตอร์ url โดยใช้ AngularJS
ซอร์สโค้ด HTML <div ng-app=""> <div ng-controller="test"> <div ng-address-bar browser="html5"></div> <br><br> $location.url() = {{$location.url()}}<br> $location.search() = {{$location.search('keyword')}}<br> $location.hash() = {{$location.hash()}}<br> keyword valus is={{loc}} and ={{loc1}} </div> </div> รหัสแหล่ง AngularJS <script> function test($scope, $location) { $scope.$location = $location; $scope.ur = $scope.$location.url('www.html.com/x.html?keyword=test#/x/u'); $scope.loc1 = $scope.$location.search().keyword ; if($location.url().indexOf('keyword') > -1){ $scope.loc= $location.url().split('=')[1]; $scope.loc = …

20
รับข้อมูลฟอร์มใน ReactJS
ฉันมีรูปแบบที่เรียบง่ายในrenderฟังก์ชั่นของฉันเช่น: render : function() { return ( <form> <input type="text" name="email" placeholder="Email" /> <input type="password" name="password" placeholder="Password" /> <button type="button" onClick={this.handleLogin}>Login</button> </form> ); }, handleLogin: function() { //How to access email and password here ? } ฉันควรเขียนสิ่งใดในhandleLogin: function() { ... }การเข้าถึงEmailและPasswordฟิลด์

3
JS เชิงมุม: อะไรคือความต้องการของฟังก์ชั่นลิงค์ของคำสั่งเมื่อเรามีคอนโทรลเลอร์ที่มีขอบเขตอยู่แล้ว?
ฉันจำเป็นต้องดำเนินการบางอย่างเกี่ยวกับขอบเขตและแม่แบบ ดูเหมือนว่าฉันสามารถทำได้ทั้งในlinkฟังก์ชั่นหรือcontrollerฟังก์ชั่น (เนื่องจากทั้งสองมีการเข้าถึงขอบเขต) เมื่อไรฉันจึงต้องใช้linkฟังก์ชั่นไม่ใช่คอนโทรลเลอร์? angular.module('myApp').directive('abc', function($timeout) { return { restrict: 'EA', replace: true, transclude: true, scope: true, link: function(scope, elem, attr) { /* link function */ }, controller: function($scope, $element) { /* controller function */ } }; } นอกจากนี้ฉันเข้าใจว่าlinkเป็นโลกที่ไม่ใช่เชิงมุม ดังนั้นฉันสามารถใช้$watch, และ$digest$apply อะไรคือความสำคัญของlinkฟังก์ชั่นเมื่อเรามีคอนโทรลเลอร์อยู่แล้ว?

5
วิธีการป้องกัน moment.js จากการโหลดสถานที่ด้วย webpack?
มีวิธีใดที่คุณสามารถหยุดไม่ให้moment.jsโหลดโลแคลทั้งหมด (ฉันต้องการภาษาอังกฤษ) เมื่อคุณใช้เว็บแพค? ฉันกำลังดูแหล่งที่มาและดูเหมือนว่าหากhasModuleมีการกำหนดไว้ซึ่งเป็นของ webpack ก็จะพยายามrequire()ทุกสถานที่ ฉันค่อนข้างมั่นใจว่าต้องมีคำขอดึงเพื่อแก้ไข แต่มีวิธีใดบ้างที่เราสามารถแก้ไขได้ด้วยการกำหนดค่า webpack นี่คือ webpack config ของฉันที่จะโหลดโมเมนต์ js: resolve: { alias: { moment: path.join(__dirname, "src/lib/bower/moment/moment.js") }, }, require('moment')จากนั้นทุกที่ฉันต้องการมันผมก็ทำ ใช้งานได้ แต่กำลังเพิ่มไฟล์ภาษาที่ไม่ต้องการลงในบันเดิลของฉันประมาณ 250 kB นอกจากนี้ฉันกำลังใช้รุ่นชั่วครู่ของซุ้มประตูและอึก นอกจากนี้หากไม่สามารถแก้ไขได้โดยการกำหนดค่าเว็บแพคนี่เป็นลิงค์ไปยังฟังก์ชั่นที่โหลดโลแคล ฉันพยายามเพิ่ม&& module.exports.loadLocalesไปยังifคำสั่ง แต่ฉันเดา webpack ไม่จริงทำงานในลักษณะที่ว่าจะทำงาน มันก็requires ไม่ว่าสิ่งที่ ฉันคิดว่ามันใช้ regex ตอนนี้ดังนั้นฉันไม่รู้จริงๆว่าคุณจะแก้ไขได้อย่างไร

13
Cryptic“ Script Error” รายงานใน Javascript ใน Chrome และ Firefox
ฉันมีสคริปต์ที่ตรวจพบข้อผิดพลาดของ Javascript บนเว็บไซต์ของฉันและส่งไปยังส่วนแบ็คเอนด์เพื่อการรายงาน โดยจะรายงานข้อผิดพลาดแรกที่พบหมายเลขบรรทัดที่ควรและเวลา แก้ไขเพื่อรวม doctype: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:fb="http://www.facebook.com/2008/fbml"> ... <script type="text/javascript"> //<![CDATA[ // for debugging javascript! (function(window){ window.onerror = function(msg, url, ln) { //transform errors if (typeof(msg) === 'object' && msg.srcElement && msg.target) { if(msg.srcElement == '[object HTMLScriptElement]' && …

17
ทรัพยากรตีความว่าเป็นเอกสาร แต่ถ่ายโอนด้วย MIME type application / zip
ด้วย Chrome 12.0.742.112 ถ้าฉันเปลี่ยนเส้นทางด้วยส่วนหัวต่อไปนี้: HTTP/1.1 302 Found Location: http://0.0.0.0:3000/files/download.zip Content-Type: text/html; charset=utf-8 Cache-Control: no-cache X-Ua-Compatible: IE=Edge X-Runtime: 0.157964 Content-Length: 0 Server: WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18) Date: Tue, 05 Jul 2011 18:42:25 GMT Connection: Keep-Alive ซึ่งถ้าติดตามจะส่งคืนส่วนหัวต่อไปนี้: HTTP/1.1 200 OK Last-Modified: Tue, 05 Jul 2011 18:18:30 GMT Content-Type: application/zip Content-Length: 150014 Server: WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18) …

1
วงจรชีวิตของ AngularJS Controller คืออะไร?
ใครช่วยอธิบายให้ชัดเจนว่าวงจรชีวิตของคอนโทรลเลอร์ AngularJS คืออะไร เป็นตัวควบคุมเดี่ยวหรือสร้าง / ทำลายตามความต้องการ? หากหลังสิ่งที่ก่อให้เกิดการสร้าง / ทำลายของตัวควบคุมคืออะไร? ลองพิจารณาตัวอย่างด้านล่าง: var demoApp = angular.module('demo') .config(function($routeProvider, $locationProvider) { $routeProvider .when('/home', {templateUrl: '/home.html', controller: 'HomeCtrl'}) .when('/users',{templateUrl: '/users.html', controller: 'UsersCtrl'}) .when('/users/:userId', {templateUrl: '/userEditor.html', controller: 'UserEditorCtrl'}); }); demoApp.controller('UserEditorCtrl', function($scope, $routeParams, UserResource) { $scope.user = UserResource.get({id: $routeParams.userId}); }); เช่น: ในตัวอย่างข้างต้นเมื่อฉันนำทางไปยัง/users/1ผู้ใช้ 1 $scopeมีการโหลดและการตั้งค่าไป จากนั้นเมื่อฉันนำทางไปยัง/users/2ผู้ใช้ 2 ถูกโหลด …

7
วิธีจัดการกับการเริ่มต้นและเรนเดอร์การแสดงตัวอย่างใน Backbone.js?
ฉันมีสามวิธีที่แตกต่างกันในการเริ่มต้นและแสดงมุมมองและมุมมองย่อยและแต่ละวิธีมีปัญหาแตกต่างกัน ฉันอยากรู้ว่ามีวิธีที่ดีกว่าในการแก้ปัญหาทั้งหมดหรือไม่: สถานการณ์สมมติที่หนึ่ง: เริ่มต้นเด็ก ๆ ในฟังก์ชั่นเริ่มต้นของผู้ปกครอง วิธีนี้ไม่ใช่ทุกอย่างติดค้างอยู่ในการเรนเดอร์เพื่อให้มีการบล็อกน้อยลงในการเรนเดอร์ initialize : function () { //parent init stuff this.child = new Child(); }, render : function () { this.$el.html(this.template()); this.child.render().appendTo(this.$('.container-placeholder'); } ปัญหา: ปัญหาที่ใหญ่ที่สุดคือการเรียกใช้เรนเดอร์บนพาเรนต์เป็นครั้งที่สองจะเป็นการลบการเชื่อมโยงเหตุการณ์ของ childs ทั้งหมด (นี่เป็นเพราะวิธีการ$.html()ทำงานของ jQuery ) สิ่งนี้สามารถบรรเทาได้ด้วยการโทรthis.child.delegateEvents().render().appendTo(this.$el);แทน แต่หลังจากนั้นเป็นกรณีแรกและบ่อยที่สุดคุณกำลังทำงานมากขึ้นโดยไม่จำเป็น ด้วยการต่อท้ายลูกคุณบังคับให้ฟังก์ชันการเรนเดอร์มีความรู้เกี่ยวกับโครงสร้าง DOM ของผู้ปกครองเพื่อให้คุณได้รับการจัดลำดับที่คุณต้องการ ซึ่งหมายถึงการเปลี่ยนเทมเพลตอาจต้องการการปรับปรุงฟังก์ชั่นการแสดงผลของมุมมอง สถานการณ์ที่สอง: เตรียมใช้งานเด็ก ๆ ในinitialize()ภาพนิ่งของผู้ปกครองแต่แทนที่จะผนวกไว้ใช้setElement().delegateEvents()เพื่อตั้งค่าเด็กเป็นองค์ประกอบในแม่แบบผู้ปกครอง initialize : function () { …

12
จะหาดัชนีอาร์เรย์ที่มีค่าได้อย่างไร
บอกว่าฉันได้รับสิ่งนี้ imageList = [100,200,300,400,500]; ซึ่งให้ฉัน [0]100 [1]200 เป็นต้น มีวิธีใดใน JavaScript ที่จะส่งคืนดัชนีด้วยค่าหรือไม่? คือผมต้องการที่ดัชนีสำหรับ200ผมได้รับกลับ1

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