X



+ JavaScript の質問用スレッド vol.126 + [転載禁止]©2ch.net
0314Name_Not_Found
垢版 |
2022/08/05(金) 19:12:45.74ID:???
>>313
じゃ、タイトル詐欺スレを削除すれば解決だね
0315Name_Not_Found
垢版 |
2022/08/21(日) 11:50:33.80ID:5ThV/pZE
【環境】iOS Catalina 10.15.7,GoogleCrome104.0.5112.101
【何をしたのか】Editor.jsでデータを受け渡す方法について知りたいです。
【エラーメッセージ】そもそも方法がわからないのでエラー等は発生してません。
【期待する結果】Editor.jsで入力したデータを次のページで内容チェックし、更にMySQLへ登録したい。また、記事の編集の際にはMySQLからデータを読み出し、Editor.js上で編集したい。
【サンプルコード】このサイトとまったく同じ状態です。https://reffect.co.jp/html/block-styled-editor-js#i-2

勉強のため自作のブログ投稿用CMSを作成しています。
formとphpで基本的な記事投稿(入力→実際の表示確認→MySQL登録)、記事の再編集(MySQLからのデータ読み込み→投稿フォームへの再表示→編集→MySQL更新)は完成しました。

ただ、現状では画像や表、リストなどを挿入するときにいちいちhtmlタグを入れなければいけないことから、WYSIWYGのひとつEditor.jsを使ってタグを自動生成したいと思っています。

phpのときには教科書どおりinputにnameをつけてPOSTでデータを受け渡してましたが、Editor.jsではdivにテキストエディタを表示させることから、どうやってデータを受け渡すのかつまずいています。
上記サイトではボタンを押すとconsoleに取得データを表示していますが、ボタンを押すと実際の記事表示を確認できるようにしたいと思っています。

どのようなやり方があるでしょうか。お力を貸してください。
0316Name_Not_Found
垢版 |
2022/08/21(日) 16:41:06.34ID:???
>>315
console.logする代わりにデータ(JSON)を確認画面に渡して
確認画面側でEditorJSをreadonlyで表示するか
同じ画面でreadonly viewとedit viewとtoggleさせる(EditorJSのreadonly.toggle)

サーバーにPOSTするのはJSON
0317Name_Not_Found
垢版 |
2022/08/22(月) 08:46:09.58ID:???
Ruby on Rails では、WYSIWYG エディターは、

Railsの作者・DHH の会社である、Basecamp 製のtrix を使う
0318Name_Not_Found
垢版 |
2022/08/27(土) 23:04:43.45ID:???
もう終わりだよこの板も
0319Name_Not_Found
垢版 |
2022/08/28(日) 14:19:06.39ID:???
JavaScriptスレは荒らされる前は平和だったんだけどね
今は見る影もない
0320Name_Not_Found
垢版 |
2022/08/28(日) 21:46:17.13ID:???
今何とか機能してるのって愚痴スレとHTMLCSS質問スレとPHP質問スレがギリギリって感じか
語ることなんて特にないし仕方ないね
0322Name_Not_Found
垢版 |
2022/09/01(木) 22:47:44.67ID:???
HTMLスレは板基準にすれば進んでるよなぁ
まあ最初にやるのがそれってのもあるけど。
初学者がくるようになればこっちも盛り上がるんだろうな?なるよな?
0323Name_Not_Found
垢版 |
2022/09/01(木) 23:34:56.25ID:???
正直調べりゃ分かるからこっちに書き込むエネルギーなんて一々使わないだろってとこは思ってる
jsまで興味を持ったのなら調べるスキルっつーか知識欲も持ち合わせてるだろうし
その結果がこれよ
0324Name_Not_Found
垢版 |
2022/09/02(金) 00:35:32.25ID:???
>>321
PHPの質問スレは板が違う
まあ向こうも同じようなもんだけど
0325Name_Not_Found
垢版 |
2022/09/02(金) 01:00:03.80ID:???
javascriptもPHPもオワコン。
そしてプログラミングの初学者には難しすぎる

初心者はRubyから学習を始めるべき。
そしてRuby on Railsを習得すればPHPは不要

こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
 ↓
Ruby 初心者スレッド Part 67
https://mevius.5ch.net/test/read.cgi/tech/1608837867/
0326Name_Not_Found
垢版 |
2022/09/02(金) 09:40:03.86ID:???
>>325
https://mevius.5ch.net/test/read.cgi/tech/1608837867/512
> 512 デフォルトの名無しさん (ワッチョイ 027c-5Ix7) sage 2022/08/19(金) 13:31:40.23 ID:Gwz5c/EG0
> Rubyガイジがこのスレに誘導しているみたいだけど
> 今更Rubyなんて流行らないし>>503でも指摘されているけど
> 新規案件でRubyやRailsなんて採用しないから初心者が勉強するだけ無駄だぞw
0327Name_Not_Found
垢版 |
2022/09/06(火) 13:50:31.39ID:???
RUNTEQ
【知らないと転職無理】未経験エンジニアの疑問全て回答!
www.youtube.com/watch?v=5IzjaC6vEg0

この動画では、Ruby on Rails から始めろと言っている

ウェブ系で最も使われているフレームワーク。
スタートアップでよく使われる

高速開発で、日本語の情報が多い
0328Name_Not_Found
垢版 |
2022/12/29(木) 12:19:48.08ID:???
JSで「日付が変わると自動で音が鳴る」というものを作りたいです。
0330Name_Not_Found
垢版 |
2023/01/01(日) 04:14:06.90ID:???
>>328
すいません
JavaScriptで日付が変わると自動で音が鳴るというものを作るにはどうしたらいいですか?
0334Name_Not_Found
垢版 |
2023/01/02(月) 18:52:30.50ID:???
>>325,331
4ヶ月前もRuvyスレ移行で受け入れられなかったのに、懲りない人だね
0335Name_Not_Found
垢版 |
2023/01/03(火) 15:44:37.55ID:???
画面遷移に伴って、リクエストヘッダを追加したいときどうすればいいか教えてください。

・1 サーバサイドで「Location」レスポンスヘッダを指定してリダイレクトさせるときに、
リダイレクト先アクセスにリクエストヘッダを添付させることは可能ですか?
・2 ブラウザ側で画面遷移するときに、リクエストヘッダをつけることは可能ですか?
<a>タグ、JavaScriptの「location.href」にリクエストヘッダ追加できますか?

・3 同じく<form>を飛ばすときにリクエストヘッダ付けられますか?

(補足)リクエストヘッダをつけるときに、思い浮かぶのはAjax, XHRを使うことですが、
これを使うと画面遷移は伴いません。
OAuthの勉強をしていて、アクセストークンをブラウザで保持して、それをAuthorizationヘッダーに
添付しないといけないことが分かったので、それをどうやってリクエストヘッダにセットするのかを調べています。

もしあるなら、その実装方法が載っているサイトが見つからなかったので教えてください。
0336Name_Not_Found
垢版 |
2023/01/03(火) 15:59:37.14ID:???
>>335

これを質問した者と同じ者ですが、解決方法が分かったかもしれないので書きます。
まず一度、認証情報なしでアクセスすると、
サーバ側が「401: Authorization Requed」ステータスを返してきて、
そこに「WWW-Authenticate」というレスポンスヘッダで認証が必要である指定が返ってくるので、
それが返ってくるとブラウザは自動でAuthorizationヘッダをセットして再アクセスするので、
サーバサイドは、401を返して、WWW-Authenticateヘッダをレスポンスするように実装しておいて、
一度401でわざと失敗させればよいため、最初から自分でAuthorizationヘッダを添付しなくてもいいのかもしれません。

しかし、ブラウザはそれで自動的に正しいアクセストークンを選んでくれるのでしょうか?
認証サーバ(IdP)から払い出されたアクセストークンをブラウザのローカルストレージか何かに保存しとくと思いますが、
それを適切に選んでくれるかが心配です。
0337Name_Not_Found
垢版 |
2023/01/03(火) 16:25:07.78ID:???
リダイレクト時にカスタムヘッダーを追加するのは無理

ブラウザがローカルストレージから自動的に特定のアクセストークンを取得してヘッダーに追加するようなことがあればセキュリティ的に大問題なのでこれも無理
(カスタムヘッダー無しのCookieだけでいいなら可能)

XHRで取得したレスポンス使ってクライント側JavaScriptで画面を更新する他ない
0338Name_Not_Found
垢版 |
2023/01/03(火) 16:31:47.61ID:???
>>337

そのクライアント側JavaScriptで画面を更新するときに、
Authorizationヘッダーを要求されませんか?
そもそも、アクセストークンを要求するのはデータ取得用のAPIだけにとどめておいて、
画面を描画するようなURLに対してアクセストークンを要求してはいけないということでしょうか?
0339Name_Not_Found
垢版 |
2023/01/03(火) 23:40:35.44ID:???
最近までAuthorizationヘッダーがそのままリダイレクトされてたみたいw
https://github.com/whatwg/fetch/pull/1544

HTTPの仕様的にはAuthorizationは削除したほうがいい的なことを書いてるのに・・・
Consider removing header fields that were not automatically generated by the implementation (i.e., those present in the request because they were added by the calling context) where there are security implications; this includes but is not limited to Authorization and Cookie.
https://www.rfc-editor.org/rfc/rfc9110#name-redirection-3xx
0340Name_Not_Found
垢版 |
2023/01/04(水) 00:34:28.00ID:???
Ruby on Rails では、Turbolinks を使って、
pjax(ajax と、historyAPI(popState, pushState))を利用して画面遷移する。
通信データを減らすために、body 部分しか変わらない

認証は、退屈な雛形を自動生成する
github.com/abhaynikam/boring_generators

Devise とか、Devise Omniauth(Facebook, GitHub, Google, Twitter)

一番分かりやすい OAuth の説明
qiita.com/TakahikoKawasaki/items/e37caf50776e00e733be

基本、日本の未経験者用のバックエンドで採用しているのは、
YouTube で有名な雑食系エンジニア・KENTA の言う通り、Rails優先
0341Name_Not_Found
垢版 |
2023/01/04(水) 20:25:37.82ID:afahpZwg
>>339
XHRで非同期でリクエストヘッダを付けてサーバへ送信すると
サーバサイドでLocationヘッダーでリダイレクトすると次のリクエストにも暗黙的に前のリクエストヘッダーが引き継がれるのか?
なかなか複雑だな。


だけどXHRでリダイレクトが帰ってきても自動的には画面遷移しない。
ブラウザ側でlocation.hrefしないと画面遷移しないがこの時はさすがに非同期の戻りのリクエストヘッダは引き継げないだろ。

それと、クロスオリジンでリダイレクトする時もリクエストヘッダー引き継がれるの?
0342Name_Not_Found
垢版 |
2023/01/09(月) 18:06:47.49ID:???
初学者の者です



「Pixiv Filter」というChromeの拡張機能の話なんですけど、この拡張機能の一つに、Pixivの検索結果画面で、イラストごとの割り振られたタグを、本来は表示されない検索結果の画面で表示してくれるというものがある

この機能なんだけど、コード(GitHubで公開されている。URLはスパム対策で貼れない、申し訳ない)を読んでも仕組みがどうにも理解できなかった。
「イラストのURLに飛んで、そこからリンクを取得してくる」といったものかとも思ったが、どうやら違う模様

詳しい方いらっしゃったら、ご教授頂きたいです
0343Name_Not_Found
垢版 |
2023/01/09(月) 19:33:20.74ID:???
ざっと見たところ
・作品ごとのタグは検索結果画面には表示されないものの検索結果データとして飛んできている
www.pixiv.net/ajax/search/artworks/***のリプライ内のdata[].tags[]という配列がそれ

・バックグラウンドで取得し直してそれをストレージに格納している
background.tsの123行目あたり
type.d.tsのWorksData型にtags配列あり

・検索画面にそれを表示している
search_page.tsの97行目あたり

実際に拡張機能入れて動かしたわけでもないしソース追っただけだから適当だけど
0344Name_Not_Found
垢版 |
2023/01/09(月) 21:27:33.60ID:???
>>343
ご教授感謝です、参考にさせて頂きます
0345Name_Not_Found
垢版 |
2023/01/10(火) 01:47:07.95ID:???
ちょっとしたデータを取得するのに、

「イラストのURLに飛んで、そこからリンクを取得してくる」みたいな、
副問い合わせをやっていたら大変
0346Name_Not_Found
垢版 |
2023/01/11(水) 00:32:53.42ID:dBdRyffW
>>345
ですよね…なんかちょっと変かな?という気はしていました、ありがとうございます

「API」とか「ストレージ」「トークン」「クッキー」みたいな通信の部分がからっきしなもので、色々調べながらやらせて頂きます
0347340
垢版 |
2023/01/11(水) 04:43:41.70ID:???
漏れらだって、Ruby on Rails, Linux, Docker, AWS Solution Architect しか分からない

>>340
に書いたように、誰かが作った、退屈な雛形を自動生成して作っている

CSRF, Strong Parameter, pjax, place holder、データベースの設計など、
全部Railsで勉強しているだけ
0348Name_Not_Found
垢版 |
2023/01/11(水) 11:01:19.44ID:???
>>346
察するにその拡張機能を調査分析するのに必要なスキルがまだ足りてないから
もう少し基礎知識を身につけてから挑んだ方がいいと思うよ
分不相応な挑戦は時間のムダにしかならない

あとRailsはNGワードに入れといた方がいい
0349Name_Not_Found
垢版 |
2023/02/21(火) 11:34:13.09ID:???
cssファイルのセレクタに、別のjsonファイルの値をインポートして使える方法とかありませんか?

【jsonファイルの値】{color:green;}

みたいな。
0350Name_Not_Found
垢版 |
2023/02/22(水) 02:42:08.74ID:???
sassファイルに、jsonファイルの読み込みとかってできたりする?
0351Name_Not_Found
垢版 |
2023/03/24(金) 07:50:31.37ID:ornKmOPA
コードを1人で書いてます。他人が見ることは100%ありません。

(a) function hoge(){ }
(b) var hoge = function(){ };

の区別や管理はどうしてますか?

・返り値のないものはa、あるものはb
・宣言のみは冒頭、実行の伴うものは後述

というルールで書いていましたが、
1万行近くなって見通しよくするために大まかな機能ごとにまとめるようになり
bが順序的に後述になる箇所が出てきました。
”機能ごと”は今後順序変更する可能性があります。

関数リテラルのメリットがいまいちわかりません。どんなメリットがあるのでしょうか?
また返り値有無関係なく全てaにして不便はありますか?
0352Name_Not_Found
垢版 |
2023/03/24(金) 18:33:56.71ID:???
>>351
不便はありません
動的に変数の中身の関数を入れ替えたい場合だけ(b)で
0353351
垢版 |
2023/03/24(金) 22:38:34.30ID:???
>>352
動的に全く違う関数に入れ替えられるのですね、なるほどです。
この件では各関数や引数の目的が明確固定ばかりなのでその場合はなさそうです。
極一部名前付き引数を使用していますが、関数内処理はほぼ一定で、その程度です。

ありがとう。
0354Name_Not_Found
垢版 |
2023/03/25(土) 00:37:00.35ID:???
このJavascriptでdivをタブで切り替え表示のサンプルで
Works、Contactタブにimg srcで画像を埋め込んでた場合
Works、Contactタブを選んだ時にだけ画像や内容を読み込む動作ってどうやるの

ttps://posipan.com/js-tab/
0355Name_Not_Found
垢版 |
2023/03/25(土) 19:04:37.36ID:???
Lazyloadとか使うといいかと
0357Name_Not_Found
垢版 |
2023/03/27(月) 13:58:05.40ID:???
そんな自分のウンチク言ってないで質問に答えてやればいいのに
0358Name_Not_Found
垢版 |
2023/03/27(月) 20:31:02.45ID:???
なんで上から目線で「質問に答えてやればいいのに」といえるのだろう?
0359Name_Not_Found
垢版 |
2023/03/28(火) 01:36:21.08ID:???
なんか癪に障っただけだろう
0361Name_Not_Found
垢版 |
2023/03/28(火) 17:07:37.33ID:???
>>360
それは上から目線である理由になってないね
>>358が聞きたいのはそっちだろう
0362Name_Not_Found
垢版 |
2023/03/28(火) 19:26:10.85ID:???
上から目線を感じてしまうのはあなたが小さい人だからよ
0364Name_Not_Found
垢版 |
2023/03/28(火) 21:15:19.17ID:???
356はケチつけられても仕方ない
回答もせず、どうでもいい知識自慢、「このへんを参照のこと」なんて上から目線、自己主張
362の通り気にしすぎ
0365Name_Not_Found
垢版 |
2023/03/28(火) 21:23:34.93ID:???
争いは同じレベルでしか発生しない
0366Name_Not_Found
垢版 |
2023/03/28(火) 21:47:39.32ID:???
>>364が気にし過ぎでフフッてなる
なるほど同レベルだね
0367Name_Not_Found
垢版 |
2023/03/28(火) 22:28:03.56ID:???
以前はスコープの問題でfunction expression派のライブラリが数多くあった
strict modeができてからはfunction declaration派が増えたように思う
0371Name_Not_Found
垢版 |
2023/03/29(水) 17:51:02.44ID:???
MathJaxってVer3になって、レンダリングされた文字列を範囲選択出来なくなった?
0372Name_Not_Found
垢版 |
2023/03/31(金) 12:07:44.93ID:???
こんにちは。
どなたか教えていただけませんか。

下記のようなコードを書いたのですが、
div部分が1つなら問題ないのですが、複数になると2つ目以降は反映されません。
そこでループにしないといけないのかな?と思うのですが知識が未熟でどうすればいいのか全くわかりません。
どなたかどうすればいいか教えて頂けませんでしょうか。
よろしくお願いします。

// HTML
<div class="fullimg"><img src="./img1.jpg" height="1000" width="1000"></div>
<div class="fullimg"><img src="./img2.jpg" height="500" width="500"></div>

// script
let imgd = document.querySelector("img");
let result = imgd.getAttribute("src");

let hresult = imgd.getAttribute("height");
let wresult = imgd.getAttribute("width");

const div = document.getElementsByClassName("fullimg");
div[0].innerHTML = '<label for="' + result + '"><img src="' + result + '" height="' + hresult + '" width="' + wresult + '"></label>';
0373Name_Not_Found
垢版 |
2023/03/31(金) 13:50:56.44ID:???
ループ以前にlabelのfor属性は関連するフォーム要素のIDを指定するものなので生成しようとしてるhtml自体に問題があるよ
0374Name_Not_Found
垢版 |
2023/03/31(金) 14:25:37.98ID:???
では再度サンプルコードを書いておきます。

// HTML
<div class="fullimg"><img src="./img1.jpg" height="1000" width="1000"></div>
<div class="fullimg"><img src="./img2.jpg" height="500" width="500"></div>

// script
let imgd = document.querySelector("img");
let result = imgd.getAttribute("src");

let hresult = imgd.getAttribute("height");
let wresult = imgd.getAttribute("width");

const div = document.getElementsByClassName("fullimg");
div[0].innerHTML = '<img src="' + result + '" height="' + hresult + '" width="' + wresult '">';

こちらでどうぞよろしくお願いします。
0375Name_Not_Found
垢版 |
2023/03/31(金) 17:01:16.18ID:???
>>372
せめてループに挑戦してるけどうまく動かないから助けてってとこまではたどり着いてほしい気がするなぁ
初心者向けのループのレクチャーなんていくらでも見つかるわけだし
0376Name_Not_Found
垢版 |
2023/03/31(金) 22:42:19.54ID:???
>>375
どこかから拾ったサンプルコードの修正依頼で自分は全く知識がないのだろう
0377Name_Not_Found
垢版 |
2023/04/01(土) 12:28:09.62ID:???
これで音信不通になるようではな
諦めたか他所へマルチしに行ったか
0378Name_Not_Found
垢版 |
2023/04/01(土) 14:29:48.39ID:???
これは、取得した値をそのまま設定しているだけだから、何も変わらない

jQuery なら、

// fullimg クラスの付いたdiv の、直下のimg
$( 'div.fullimg > img' ).each( function ( index, elem ) {

jQ_this = $( this )
const src = jQ_this.attr( 'src' ) // 取得
const height = jQ_this.attr( 'height' )
const width = jQ_this.attr( 'width' )

console.log( `${ index }: ${ src }, h: ${ height }, w: ${ width }` )

jQ_this.attr( 'src', src ) // 設定
jQ_this.attr( 'height', height )
jQ_this.attr( 'width', width )

} )

ログ出力
0: ./img1.jpg, h: 1000, w: 1000
1: ./img2.jpg, h: 500, w: 500
0379Name_Not_Found
垢版 |
2023/04/01(土) 15:06:47.33ID:???
jQuery信者が喜ぶネタなんだな
0380Name_Not_Found
垢版 |
2023/04/03(月) 20:28:44.17ID:???
【環境】VS Code
バージョン: 1.77.0
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: 10.2.154.26-electron.0
OS: Linux x64 5.4.0-42-generic

【何をしたのか】イベントリスナー内でevent.target.valueを参照した。
【エラーメッセージ】プロパティ 'value' は型 'EventTarget' に存在しません。ts(2339)
【サンプルコード】
(() => {
"use strict";
const fruit = document.querySelector('select');
if (null === fruit) { return; }
fruit.addEventListener('change', (event) => {
if (null === event.target) { return; }
console.log(event.target.value);
});
})();

fruit === event.targetを実行するとtrueが返ったので、event.target.valueをfruit.valueに書き換えたところエラーが消えた。
イベントを扱うサンプルコードでは大抵event.target.valueが利用されているが、HTMLSelectElement.valueで置換した場合に何か落とし穴はありますか。
0381Name_Not_Found
垢版 |
2023/04/03(月) 21:47:26.64ID:???
>>380
エラーが消えたからヨシ!は好ましくない
まずはts(2339)で検索してみよう
0382>>380
垢版 |
2023/04/03(月) 22:22:25.06ID:???
>>381
エディタ上でts(2339)が出ていてもブラウザ上での実行は問題なくできます。

キャストするとts(2339)が消えますが、「型アサーション式は TypeScript ファイルでのみ使用できます。ts(8016)」が発生します。
ブラウザで実行すると、「Uncaught SyntaxError: Unexpected identifier 'as' (at hoge.html:24:35)」が発生します。(TypeScriptの構文なので当然ですが……)

fruit === event.target;はtrueなので置き換えたのですが、トラップや問題はありますか。
(エディタ上のts(2339)も消えるし実行もできるので、落とし穴がなければこれで行きたいな、と)
0383Name_Not_Found
垢版 |
2023/04/03(月) 22:36:04.36ID:???
>>382
そもそもTypeScriptを書こうとしてるわけじゃないのになんでtsエラーが出てるの?ってこと
vscode右下の言語モードがTypeScriptになってるんじゃないの?
0384Name_Not_Found
垢版 |
2023/04/03(月) 23:01:10.11ID:???
>>383
なってないです。拡張機能も無効です。
i.imgur.com/TE6gwcY.jpg
0386Name_Not_Found
垢版 |
2023/04/03(月) 23:39:06.45ID:???
>>384
わかった、vscodeの設定に↓があるんじゃない?
"js/ts.implicitProjectConfig.checkJs": true
これ追加したらうちでもJSでエラー出た
0387>>380
垢版 |
2023/04/03(月) 23:48:50.00ID:???
>>385 >>380
原因が判明しました。"js/ts.implicitProjectConfig.checkJs"がtrueでした。
型のチェックはしたいので、event.target.valueの上に@ts-ignoreを書いて解決します。
ありがとうございました。
0388>>380
垢版 |
2023/04/03(月) 23:51:00.10ID:???
>>386
まさにそうでした。ありがとうございました。
0389Name_Not_Found
垢版 |
2023/04/04(火) 00:27:18.41ID:???
jQuery では、event.target.value でも、正常に動く

<div id="btn-wrap">
<button class="BtnA BtnAll" value="1">A-1</button>
<button class="BtnA BtnAll" value="2">A-2</button>
<button class="BtnB BtnAll" value="3">B-3</button>
</div>

<div id="btn-wrap-2">
<button class="BtnC BtnAll" value="11">C-11</button>
</div>

$( function ( ) {
// 外側・親に、イベントを付けて、親で、子のイベントをキャッチする
$( '#btn-wrap' ).on( 'click', function ( event ) {
const value = $( event.target ).prop( 'value' )
console.log( value )
alert( value )
} );

$( '#btn-wrap-2' ).on( 'click', function ( event ) {
console.log( event.target.value )
alert( event.target.value )
});
} );
0390Name_Not_Found
垢版 |
2023/04/04(火) 00:53:07.21ID:???
>>387
@ts-ignoreもなんか負けたみたいでいやだけども調べてみてもいい解決策はなさそう
致し方なしかな

>>389
正常に動くかどうかの話はしてないよ
よく読もう
0391Name_Not_Found
垢版 |
2023/04/04(火) 10:04:45.82ID:???
fruitがHTMLSelectElementなのは確定してるから
event.currentTargetがHTMLSelectElementであることは推定できそうだな
event.target じゃなくて event.currentTarget にしたらどうなるかね
0392Name_Not_Found
垢版 |
2023/04/04(火) 10:48:34.90ID:???
>>387
型チェック入れるとか
if (null === event.target || !(event.target instanceof HTMLSelectElement)) { return; }
キャストするとか
console.log(/** @type {HTMLSelectElement} */ (event.target).value);
0393Name_Not_Found
垢版 |
2023/04/04(火) 11:43:11.41ID:???
>>392
そのへん少し試したけどうまくいかなくて諦めてた
致し方なしとか言う前にもう少し手を尽くすべきだった
反省
0394>>380
垢版 |
2023/04/04(火) 19:16:22.79ID:???
>>391
currentTargetもts(2339)が発生します

>>392
元々、nullチェックは'event.target' は 'null' の可能性があります。ts(18047)のエラーを消すために入れていたのですが、
条件を!(event.target instanceof HTMLSelectElement)に書き換えてもts(18047)とts(2339)は発生しないので、解決しました。
JSDocコメントでのキャストは気づきませんでした、こちらが適している場面があればこちらも利用していきます。ありがとうございました。

>>390 >>393
そうなんです、@ts-ignoreを使用している行で他のエラーが出た時に気づけなくなるので、あまり使用したくないです。
遅い時間までお付き合いいただき、ありがとうございました。

ところで、event.targetの代わりにfruitを使用すべきではない明確な理由はないが、event.targetを使用するのが(通常|普通|無難)である。ということで合っていますか。
0395Name_Not_Found
垢版 |
2023/04/04(火) 22:54:34.70ID:???
1つのイベントハンドラが複数の要素に対して設定されることは一般的で、その場合はevent.targetを使うことになる
今回のケースはそうでないにしても、可搬性や拡張性を考えれば常にevent.targetを使用しておくという判断は妥当だろう
あと処理結果は同じでも、イベントの起こった要素に対して処理をする、という意図をコードに残す意味もある

いずれにしろ現時点のそのコードだけを考えるならお好きなように
0396>>380
垢版 |
2023/04/05(水) 00:34:18.58ID:???
>>395
確かに以下のような場合にはEvent.targetを使う必要があるし、「意図をコードに残す」にとても合点がいきました。
<button data-x="1">btn1</button>
<button data-x="2">btn2</button>
const btns = document.querySelectorAll('button');
for (const b of btns) {
b.addEventListener('click', e => console.log(e.target.dataset.x));
}
0397389
垢版 |
2023/04/05(水) 10:13:44.20ID:???
>>389
に書いた

複数のコントローラーに、イベント登録する場合、
外側・親に、イベントを付けて、親側で子のイベントをキャッチする
0398Name_Not_Found
垢版 |
2023/04/05(水) 11:14:44.19ID:???
このjQuery信者は文脈や論点ってものを全く理解しないのな
jQueryでは~jQueryなら~ってただただ念仏を唱えて布教に励む様子がまさに信者
0399Name_Not_Found
垢版 |
2023/04/05(水) 13:56:33.20ID:???
Slickで出来てSwiperでできないようなアニメーション処理って何かある?
0400Name_Not_Found
垢版 |
2023/04/06(木) 13:40:22.56ID:???
Mathjaxって配列環境でcolspan, rowspanって使えないのか?
\multicolumnというべきか
0401Name_Not_Found
垢版 |
2023/04/13(木) 11:04:39.61ID:08KgWRFK
JavaScript でローカルファイルを読み書きするにはどうすればいいでしょうか?
fetchという関数が使えるかと思ったんですが、blocked by CORS policy というエラーになってしまいます。
0402Name_Not_Found
垢版 |
2023/04/13(木) 14:00:39.10ID:???
CORS(Cross-Origin Resource Sharing)制限は、
ローカルPC 上に、何かのサーバーを立てて、そこから配信すれば良い

VSCode の拡張機能、open in browser では、
file:/// から始まるローカルファイル・アクセスだから、CORS制限あり
file:///C:/Users/Owner/Documents/test.htm

一方、Live Server では、サーバーを立てているから、CORSにならない
http://127.0.0.1:5500/test.htm

同様に、コマンドプロンプト・PowerShell から、
1-liner で、Ruby で作られた遅いウェブサーバー、WEBrick を起動すると、
ruby -run -e httpd . -p 8080

これも、サーバー経由だから、CORSにならない
http://localhost:8080/test.htm
0403Jun
垢版 |
2023/04/26(水) 01:05:22.69ID:2ly3VJ6h?2BP(0)

JavaScriptで電卓を作るよ。
0405Jun
垢版 |
2023/04/27(木) 23:52:36.98ID:qkYl27sL?2BP(0)

JavaScript + HTML + CSS で電卓やホームページを作るのが今の目標です。
0406Name_Not_Found
垢版 |
2023/05/09(火) 15:14:09.97ID:???
マイナーな質問

XyJaxで、一括して文字色を変える方法教えてくれ

\color{red}を使っても、その箇所だけしか変更できない。
\xymatrix環境内全部の文字色を変えたい
0408Name_Not_Found
垢版 |
2023/06/16(金) 12:40:56.37ID:???
こんにちは。
誰か教えてください。

<style>
.def { color: red;}
</style>

<div>
<p class="abc">aaa</p>
</div>
<div>
<p class="abc">bbb</p>
</div>

<script>
dif = document.querySelectorAll('.abc');
dif.forEach(element => document.querySelector("div").classList.add("def"));
</script>

このようなコードですが、実行すると1つめのaaaを囲ってるdivにしかclassが追加されません。
条件にあるすべてのdivに追加するにはどうすればいいのでしょうか?
0409Name_Not_Found
垢版 |
2023/06/16(金) 14:16:25.94ID:???
>>408
document.querySelectorAll('.abc').forEach(element => element.closest("div").classList.add('def'));
0410Name_Not_Found
垢版 |
2023/06/16(金) 14:24:00.49ID:???
>>409
レスありがとうございます。
closestなんてものがあるのですね。知りませんでした。
おかげで思うように行きました。
ありがとうございます。
0411Name_Not_Found
垢版 |
2023/06/16(金) 16:50:32.34ID:???
>>408
これでもいけると思う
document.querySelectorAll('div:has(> .abc)').forEach(x=>x.classList.add('def'));
0412Name_Not_Found
垢版 |
2023/06/16(金) 16:57:38.56ID:???
これでもいいのかな?間になにか挟まってたらダメだけど
('div >:is(.abc)')
0413Name_Not_Found
垢版 |
2023/06/16(金) 17:02:39.12ID:???
>>411,412
こちらもありがとうございます。
大変助かります。
0414Name_Not_Found
垢版 |
2023/07/14(金) 05:34:41.98ID:zlYPgrgm
https://jsfiddle.net/um71qgzf/3/
こんな表示状態で、textarea に入力して改行していき、表示可能行数を超えると、スクロール状態になります。
入力された行数に応じて textarea が縦に伸びて、textareaのコンテナにあたる li もそれに応じて縦に伸びるようにするにはどうすればいいのでしょうか?
0415Name_Not_Found
垢版 |
2023/07/14(金) 17:33:09.83ID:???
自前でやろうとせずにライブラリ探してきたら?
0416Name_Not_Found
垢版 |
2023/07/14(金) 17:53:03.06ID:???
textarea 高さ 自動
でググるとそれっぽいのあったよ
0417Name_Not_Found
垢版 |
2023/07/17(月) 03:34:14.72ID:???
SELECTタグで、人物を選択出来るようにしたいのですが、SELECTが非展開の時はIDだけ表示して、
展開した時だけ、IDと人物名が表示されるようにする方法を教えてください。

人物配列

var array =
[
{
"id": 1,
"name": "人物1"
},
{
"id": 2,
"name": "人物2"
}
]


こんな表示にしたいです。

https://i.imgur.com/WWwRHPV.jpg
0418Name_Not_Found
垢版 |
2023/07/17(月) 08:04:52.05ID:???
展開したときにどこにID表示されてるの?
0419Name_Not_Found
垢版 |
2023/07/17(月) 12:41:46.99ID:???
>>417
一応確認するが、非展開時に数字にする意図は何?
フォーム送信時に数字を送信したいだけなら、尊信値(value属性値)と表示する選択肢(子要素の文字列)を分けて書くだけで良いのだが
0422Name_Not_Found
垢版 |
2023/11/20(月) 22:52:12.45ID:???
何をしていいか分からないな…
0423Name_Not_Found
垢版 |
2023/12/12(火) 22:36:34.47ID:???
変数名はキャメルケース(getNameなど)がよく使われるようですが、
スネークケース(get_nameなど)はやはり使わない方がいいですか?
0424Name_Not_Found
垢版 |
2024/02/28(水) 02:36:50.61ID:pCYviIFS
https://liveweave.com/6IlWRJ

JavaScriptでスプリッターを作っているのですが、左右を分割するスプリッターをマウスで動かしても、マウスの位置とずれてしまいます。
どのように修正すればいいのでしょうか。
0425Name_Not_Found
垢版 |
2024/03/28(木) 04:02:18.18ID:???
>>423
良いか悪いかはさておき

考え方としては
そのコードを、どのくらいの範囲で共有するのか
ってのを基準に考えたらいいと思う

自分だけなら好きにすればいいし
身内だけなら話して決めればいいし
広範囲なら世間一般の流れに合わせるべき

みたいな
0426Name_Not_Found
垢版 |
2024/03/28(木) 04:07:49.72ID:???
>>417
すんごい前だけど
似たようなことを頑張ったことある

でもやっぱり
select要素が開いているかどうかを判定出来ないので
原理的に出来なくて

select要素のように振る舞うものを
手作りするのが早かったです
0427Name_Not_Found
垢版 |
2024/04/08(月) 00:13:34.85ID:???
今動作しているのがサーバ上(https//:~)なのかローカル(file:///C:~)なのか区別する必要性が出てきました。
locationで取得する以外にいい方法ありますか?
区別さえ確実にできれば得られる値は(true/falseなど)なんでもいいです。
0428Name_Not_Found
垢版 |
2024/04/08(月) 12:44:09.64ID:???
>>427
window.location.protocolを見れば良いんじゃないかな
httpかhttpsなら、みたいな
0429Name_Not_Found
垢版 |
2024/04/18(木) 13:55:10.68ID:NjgPbiyX
var people = [{
"id" : "ID1", "name" : "人物1", "room" : "1"
}{
"id" : "ID2", "name" : "人物2", "room" : "2"
}]

var select_tag = document.getELementById("my_select");

for ( var i = 0; i < people.length; i++ ) {
var option = document.createElement("option");
option.value = people[i].id;
option.innerText = people[i].name;
my_select.append(option);
}

こういう感じの select を設置して、option が選択された時に、選択された人物の room を取得するにはどうすればよいのでしょうか?
0430Name_Not_Found
垢版 |
2024/04/18(木) 17:45:29.04ID:???
>>429
select_tag.selectedIndexに
今選ばれてるoptionが何番目かが入ってるから

select_tagのchangeイベントにフックして
その数字を拾って、people[数字].idを参照したらいいよ
0431Name_Not_Found
垢版 |
2024/04/18(木) 17:53:34.56ID:???
ごめん間違えた
people[数字].roomだった
すまんこ
0432Name_Not_Found
垢版 |
2024/04/19(金) 02:15:05.41ID:???
>>431
出来ました!ありがとうございます!

select_tag.addEventListener("change", (e) =>{
let i = select_tag.selectedIndex;
alert(people[i].room);
});
0433Name_Not_Found
垢版 |
2024/05/07(火) 02:22:40.33ID:YeUeQCju
calleeという古語を使っていたが
怒られた
レスを投稿する


ニューススポーツなんでも実況