タグ付けされた質問 「javascript」

ECMAScript(JavaScript / JS)とそのさまざまな方言/実装(ActionScriptを除く)でのプログラミングに関する質問。このタグが単独で使用されることはほとんどありませんが、ほとんどの場合、[node.js]、[jquery]、[json]、および[html]タグに関連付けられています。


18
JavaScriptの代替
現在、完全にサポートされている唯一の言語であり、ブラウザーでのDOMツリー操作の事実上の標準はJavaScriptです。設計上の深い問題があり、初心者にとってバグとセキュリティホールの地雷原になっているようです。 次世代ブラウザでのDOMツリー操作とHTTPリクエストに、(JavaScriptだけでなく)あらゆる種類のより良い(再設計された)言語を導入するための既存または計画中の取り組みを知っていますか?はいの場合、Firefoxなどに統合するためのロードマップは何ですか?いいえの場合、(相互運用性の一部として)ブラウザープラットフォームでサポートされる唯一の言語はJavaScriptである必要がありますか? 私はすでにjQueryを使用しており、「javascript:良い部分」も読んでいます。確かに提案は良いですが、私が理解できないことは、なぜJavaScriptだけなのかです。サーバーサイド(お気に入りのosプラットフォーム)では、fortranを含むすべての言語でDOMツリーを操作できます。クライアント側(ブラウザプラットフォーム)がJavaScriptのみをサポートするのはなぜですか?

22
typescript:エラーTS2693: 'Promise'はタイプのみを参照していますが、ここでは値として使用されています
AWS LambdaにTypescriptを使用しようとしていますが、promiseを使用している場合は常に次のエラーが発生します。 エラーTS2693: 'Promise'はタイプのみを参照していますが、ここでは値として使用されています。 コードで次のバリエーションを使用してみました Promiseコンストラクターの使用 responsePromise = new Promise((resolve, reject) => { return reject(new Error(`missing is needed data`)) }) Promise.rejectの使用 responsePromise = Promise.reject(new Error(`Unsupported method "${request.httpMethod}"`)); バージョン 以下は私の開発依存関係のバージョンです: "typescript": "^2.2.2" "@types/aws-lambda": "0.0.9", "@types/core-js": "^0.9.40", "@types/node": "^7.0.12", tsconfig.jsonの内容 { "compileOnSave": true, "compilerOptions": { "module": "commonjs", // "typeRoots" : ["./typings", "./node_modules/@types"], …

27
タッチデバイスのボタンのホバー効果の粘着を防ぐ方法
常に表示される「前へ」ボタンと「次へ」ボタンを備えたカルーセルを作成しました。これらのボタンにはホバー状態があり、青色に変わります。iPadのようなタッチデバイスでは、ホバー状態が固定されているため、ボタンをタップしても青色のままになります。それは欲しくない。 各ボタンのno-hoverクラスontouchendを追加して、CSSを次のようにすることもできます。button:not(.no-hover):hover { background-color: blue; }ただし、これはおそらくパフォーマンスにかなり悪影響を及ぼし、Chromebook Pixel(タッチスクリーンとマウスの両方を備えている)などのデバイスを正しく処理しません。 にtouchクラスを追加しdocumentElementて、CSSを次のようにするhtml:not(.touch) button:hover { background-color: blue; }こともできます。ただし、タッチとマウスの両方を備えたデバイスでは正しく機能しません。 私が好むのは、ホバー状態を削除することontouchendです。しかし、それは可能ではないようです。別の要素にフォーカスしても、ホバー状態は削除されません。別の要素を手動でタップすると動作しますが、JavaScriptでそれをトリガーできないようです。 私が見つけたすべてのソリューションは不完全に見えます。完璧な解決策はありますか?
144 javascript  css  hover  touch 


21
外側のクリックでドロップダウンを閉じるにはどうすればよいですか?
ユーザーがドロップダウン以外の場所をクリックしたときにログインメニューのドロップダウンを閉じたいのですが、Angular2とAngular2の "アプローチ"でそれを実行したいのですが... ソリューションを実装しましたが、自信がありません。同じ結果を達成する最も簡単な方法がなければならないと私は思います、あなたが何かアイデアがあれば...議論しましょう:)! これが私の実装です: ドロップダウンコンポーネント: これは私のドロップダウンのコンポーネントです: このコンポーネントが可視に設定されるたびに(たとえば、ユーザーがボタンをクリックしてそれを表示すると)、SubjectsService内に格納された「グローバル」なrxjsサブジェクトuserMenuにサブスクライブします。 そして、それが非表示になるたびに、この件名の購読を解除します。 このコンポーネントのテンプレート内の任意の場所をクリックするたびに、onClick()メソッドがトリガーされます。これにより、上部(およびアプリケーションコンポーネント)へのイベントバブリングが停止します。 これがコードです export class UserMenuComponent { _isVisible: boolean = false; _subscriptions: Subscription<any> = null; constructor(public subjects: SubjectsService) { } onClick(event) { event.stopPropagation(); } set isVisible(v) { if( v ){ setTimeout( () => { this._subscriptions = this.subjects.userMenu.subscribe((e) => { this.isVisible = false; }) …

14
ifステートメントのブール値
今日、学校の課題で変数がtrueかfalseかをチェックする方法を考慮して、コードについて意見を述べました。 私が書いたコードは次のようなものでした: var booleanValue = true; function someFunction(){ if(booleanValue === true){ return "something"; } } 彼らは、次のように書く方が良い/端正だと言った: var booleanValue = true; function someFunction(){ if(booleanValue){ return "something"; } } 「=== true」の部分について私が得た発言は、それが必要ではなく、混乱を引き起こす可能性があるということでした。 しかし、私の考えでは、特にJavascriptはルーズタイプの言語であるため、変数がブール値であるかどうかを確認する方が良いと考えています。 2番目の例では、文字列も「何か」を返します。 だから私の質問; 将来的に "=== true"の部分を失うのはきれいですか、それとも変数の型もチェックするのは良い習慣ですか? 編集: 私の「実際の」コードでは、ブール値は画像が削除されたかどうかを表しているため、boolValueが持つべき唯一の値はtrueまたはfalseです。 たとえば、0と1はその変数に含めないでください。

10
URLからクエリ文字列を削除する
JavaScriptのパスからクエリ文字列を削除する簡単な方法は何ですか?window.location.searchを使用するJqueryのプラグインを見ました。それはできません。私の場合のURLは、AJAXから設定される変数です。 var testURL = '/Products/List?SortDirection=dsc&Sort=price&Page=3&Page2=3&SortOrder=dsc'
144 javascript  jquery 

11
ブラウザからJSONオブジェクトをファイルとしてダウンロードする
ユーザーがcsvファイルのデータ文字列をダウンロードできるようにする次のコードがあります。 exportData = 'data:text/csv;charset=utf-8,'; exportData += 'some csv strings'; encodedUri = encodeURI(exportData); newWindow = window.open(encodedUri); クライアントがコードを実行すると空白ページが生成され、csvファイル内のデータのダウンロードが開始されるので、問題なく機能します。 だから私はJSONオブジェクトでこれをやろうとしました exportData = 'data:text/json;charset=utf-8,'; exportData += escape(JSON.stringify(jsonObject)); encodedUri = encodeURI(exportData); newWindow = window.open(encodedUri); しかし、JSONデータが表示されたページのみが表示され、ダウンロードはされません。 私はいくつかの調査を行いましたが、これは機能すると主張していますが、コードに違いはありません。 コードに何か不足していますか? 私の質問を読んでくれてありがとう:)
144 javascript  json 

8
複数のイベントをリスナー(JQueryなし)にバインドしていますか?
ブラウザーイベントを処理しているときに、モバイルデバイス用のSafariのtouchEventsを組み込み始めました。addEventListenersが条件付きでスタックしていることがわかります。このプロジェクトはJQueryを使用できません。 標準のイベントリスナー: /* option 1 */ window.addEventListener('mousemove', this.mouseMoveHandler, false); window.addEventListener('touchmove', this.mouseMoveHandler, false); /* option 2, only enables the required event */ var isTouchEnabled = window.Touch || false; window.addEventListener(isTouchEnabled ? 'touchmove' : 'mousemove', this.mouseMoveHandler, false); jQueryは次のbindように複数のイベントを許可します。 $(window).bind('mousemove touchmove', function(e) { //do something; }); JQueryの例のように2つのイベントリスナーを組み合わせる方法はありますか?例: window.addEventListener('mousemove touchmove', this.mouseMoveHandler, false); 提案やヒントは大歓迎です!

3
HTTP Content-TypeヘッダーとJSON
私はいつも、未知のものを恐れるために、HTTPプロトコルのプロパティのほとんどを使用しないようにしています。 しかし、今日は恐怖に直面し、意図的にヘッダーを使用し始めると自分に言い聞かせました。私はjsonブラウザにデータを送信してすぐにそれを使用しようとしています。たとえば、準備状態4に次のようなAjaxハンドラー関数があるとします。 function ajaxHandler(response){ alert(response.text); } そして、PHPコードにcontent-typeヘッダーを設定しました。 header('Content-Type: application/json'); echo json_encode(array('text' => 'omrele')); ブラウザーに着信データがあることが明確に通知されているのに、ハンドラー関数からプロパティに直接アクセスできないのはなぜapplication/jsonですか?
144 javascript  php  json  http 

7
数値が2つの値の間にあるかどうかを確認する方法は?
JavaScriptでは、ウィンドウサイズが500pxを超える場合にブラウザに何かをするように指示しています。私はそれをそのようにします: if (windowsize > 500) { // do this } これはうまくいきますが、私はこれと同じ方法を適用したいと思いますが、数値の範囲があります。それで、ウィンドウサイズが500pxから600pxの間である場合、ブラウザに何かをするように伝えたいと思います。私はこれがうまくいかないことを知っていますが、これは私がそれを想像した方法です if (windowsize > 500-600) { // do this } これはJavaScript内でも可能ですか?
144 javascript 

8
JavaScriptにおける配列とオブジェクトの効率
おそらく何千ものオブジェクトを持つモデルがあります。それらを格納し、IDを取得したら単一のオブジェクトを取得する最も効率的な方法は何だろうと思っていました。IDは長い数字です。 これらは私が考えていた2つのオプションです。オプション1では、インデックスが増加する単純な配列です。オプション2では、これは連想配列であり、違いがある場合はオブジェクトです。私の質問は、ほとんどの場合単一のオブジェクトを取得する必要があるが、時にはそれらをループしてソートする必要がある場合、どちらがより効率的かということです。 非連想配列のオプション1: var a = [{id: 29938, name: 'name1'}, {id: 32994, name: 'name1'}]; function getObject(id) { for (var i=0; i < a.length; i++) { if (a[i].id == id) return a[i]; } } 連想配列を使用したオプション2: var a = []; // maybe {} makes a difference? a[29938] = {id: 29938, name: 'name1'}; …

18
JavaScriptでのみ現在の時刻を取得する方法
JavaScriptで現在の時刻を取得してタイムピッカーで使用するにはどうすればよいですか? 私が試してみvar x = Date()ました: 2012年5月15日火曜日05:45:40 GMT-0500 しかし、私は現在の時間だけが必要です、例えば、 05:45 これを変数に割り当てるにはどうすればよいですか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.