+ JavaScript の質問用スレッド vol.126 +at HP
+ JavaScript の質問用スレッド vol.126 + - 暇つぶし2ch144:Name_Not_Found
15/10/12 08:23:37.82 .net
クイックソートとか二分木検索とか、要はアルゴリズムがソフトウェアにおける「基礎分野」だよ。
言語仕様に起因する最適化知識はたんなる枝葉の「Tips」に過ぎない。

145:Name_Not_Found
15/10/12 09:05:06.33 .net
>たんなる枝葉の「Tips」に過ぎない
そう
しかも、どこの馬の骨とも付かぬ輩の「こんなこともできるよ わーい」なわけで
そんなものきっかけでおまえらはなにやってんだよ

146:Name_Not_Found
15/10/12 09:33:48.00 .net
>>144


147:Name_Not_Found
15/10/12 09:51:56.35 .net
ここは荒らしのスレです。本スレは>>103で立てられています。
+ JavaScript の質問用スレッド vol.126 + [転載禁止]©2ch.net
スレリンク(hp板)

148:Name_Not_Found
15/10/12 14:00:06.48 .net
一度削除依頼を出してもらったほうがいいかもね。
常にこの板監視してるわけじゃないからどれが荒らしスレなのか判断が出来ないから俺はやらないけど

149:Name_Not_Found
15/10/12 14:10:10.41 .net
>>148
すでに削除依頼はスレ立てた本人によってされているのです。
でも削除しないんです。管理人の怠慢なのでどうしようもありません。
スレリンク(hp板:2番)
> 2 自分:Name_Not_Found[] 投稿日:2015/10/07(水) 11:55:20.42 ID:71WBOfKy [2/2]
> すみません。重複スレでした。
> ここは削除依頼済みです。
>
> ↓こちらへどうぞ

150:Name_Not_Found
15/10/12 14:24:33.92 .net
現在の2ちゃんねるでは、よっぽどのことがなければその種の削除依頼は処理されません
怠慢というよりそういう方針なようです
かつてのように削除人がたくさんいた頃とは違いますので諦めてください

151:Name_Not_Found
15/10/12 14:25:09.12 .net
>>8にまとめてあるじゃん

152:Name_Not_Found
15/10/12 18:20:39.18 .net
以前は荒らしが立てたJavaScriptスレ全てに削除依頼出してたが、対応されないからもう諦めたよ
このスレも削除依頼を出しても対応されないのは目に見えてる

153:Name_Not_Found
15/10/15 05:25:35.94 .net
とりあえず荒らしの自演を尻目に誘導すればいんじゃね?w

154:Name_Not_Found
15/10/15 05:26:22.75 .net
ここは荒らしのスレです。
+ JavaScript の質問用スレッド vol.126 + [転載禁止]©2ch.net
スレリンク(hp板)

155:Name_Not_Found
15/10/15 15:20:03.25 kS2Oui2F.net
初歩的なことかもしれませんが、調べてもそれらしい内容が見つからなかったので質問させてください。
例えば、var1と3と比較するときに「3 == var1」と変数を後ろに記述したものを見かけますが、
①「var1 == 3」とは書き方が違うだけで同じものなのか
②どちらの書き方がより広く使われているのか
③パフォーマンスに差異はないのか
お願いします。

156:Name_Not_Found
15/10/15 16:40:13.01 .net
1同じ
2コーディング規約があればそれに従う
3ない

157:Name_Not_Found
15/10/15 17:19:43.65 .net
>>155
== を = に誤記したとき
3 = var1 ならエラーになってくれる、というのが理由かな

158:Name_Not_Found
15/10/15 17:20:54.23 .net
>>157
これかなー

159:Name_Not_Found
15/10/15 18:58:29.46 .net
スレリンク(hp板:83番)

160:Name_Not_Found
15/10/15 19:45:18.33 .net
>>155
> ①「var1 == 3」とは書き方が違うだけで同じものなのか
同じものです。
> ②どちらの書き方がより広く使われているのか
var1 == 3 というか、正確にはvar1 === 3ですね。
> ③パフォーマンスに差異はないのか
ありません。

161:Name_Not_Found
15/10/15 21:51:32.36 .net
本スレ
+ JavaScript の質問用スレッド vol.126 + [転載禁止]©2ch.net
スレリンク(hp板)

162:Name_Not_Found
16/02/23 19:02:22.26 .net
.
.
板違い(?)の上に、話をさえぎってしまいゴメンナサイ!(*_ _)人
でも、この板のユーザーさんにも有意義な告知かと思うのでカキコませてください。
★ 謝礼は十分いたします ★ アメブロなどのサイト制作ができる方!! 
アメブロなどを使用してのサイト制作のできる方を早急に求めています!
私はリケジョやPC女子からはほど遠く、サイト作成にはまったく疎いのでとても不自由しています…(> <;)
そこで私に代わりサイトを作成してくださる方を求めてこの場をお借りしました。
■サイトの内容…
アダルト系、違法性、その他公序良俗に反するものではありませんのでご安心ください。
■サイト制作の仕様ベース…
アメーバブログで十分です。願わくばwordpressなどのブログ形式のサイトを希望します。
それに準ずるもので使い慣れたものがあれば別のものでも構いません。
■条件はありません…
技術さえお持ちでしたら、学歴・職歴等は一切問いません。
フリーター、ニート、高齢ニート、コミュニケーション障害をお持ちの方、引きこもりの方、中年失業者、長期無職等、歓迎!
■作業形態…
作業は在宅でやって頂くことになりますので、時間の指定は一切ありません。別のお仕事の傍らに…でもOKです。
■詳細をお知りになりたい方は…
下記メールアドレスまでご連絡ください。詳しく書いた返信文を差し上げます。
※真剣な告知です。冷やかしはご遠慮ください。
井 上
inoue1952w★gmail.com
迷惑メール対策のため@部分を★にしてあります。
実際に送信する際には★を@マークに変えてください。
.
.

163:Name_Not_Found
16/02/24 00:19:16.80 .net
こんな匿名掲示板でなくて、facebook や twitter でツテをたどった方が良いと思う。
真剣ならなおさらね

164:Name_Not_Found
16/02/24 02:38:07.59 .net
現行スレ

165:Name_Not_Found
16/03/03 14:41:58.68 KuMGwuid.net
【超絶】SEO対策済ホームページテンプレート
URLリンク(www.infocart.jp)

166:Name_Not_Found
16/06/12 09:46:19.80 WyucpD20.net
               【Win10】    こんな犯罪級OS薦めんなよwww   ↓   【スパイウェア】

この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
URLリンク(www.youtube.com)

       【秘密保護法】  ナチスの手口でサヨクを捕まるんだろ? 早くやってみろよ m9(^Д^)  【緊急事態法】

スノーデン氏→国家秘密法は諜報機関NSAの日本での活動を容易にするために米国が設計して日本政府に導入を要求したもの。
全日本人が調査の対象であり、NSAはあなたの交際関係、信仰等の個人情報を把握している。
URLリンク(twitter.com)
今朝、辺野古で新基地建設に反対するママの会メンバーに対して、機動隊員が「お前たちには汚い血が流れている」などと暴言を吐いたそうです。
自分のやっていることを「だってお金欲しいもん~」「俺の写真を待ち受けにしろ」とも (顔写真)
URLリンク(twitter.com)
サンマ以降のバラエティ芸人の大半が、暴走族出身で極右思想。原発反対派を「放射脳」と嘲笑する連中。
芸能界極右は石原慎太郎一家を筆頭に、上田晋也 草野仁 津川雅彦 向井理 松本人志 宇多田ヒカル マツコ 春日俊彰 田村淳 北村晴雄
URLリンク(twitter.com) mada/status/630627400552845312

167:DR120DMC10UE
16/06/16 00:56:50.44 .net
AP層との通信に失敗しました。:[[A1S1E001E] com.fujitsu.mc.a1.scm.MCPiException@23435555
復帰コード = 7051 メッセージ = "予期せぬ例外"java.net.NoRouteToHostException"を検出しました。
[java.net.NoRouteToHostException: ホストへの経路がありません]" ログ出力済フラグ = true ]
大株主
今井メロ
ソニー放送メディア 出井投資顧問 ジェイアール東日本企画
ノーザントラスト ドイツ銀行(ロンドン) 日本経済新聞社
東京電力 三井物産 信託口(大日本印刷) 東映 国際放映
小学館集英社プロダクション 郵政共済組合 京セラ 毎日放送
日本トラスティ信託  三菱商事 学校法人帝京大学 東京都
テレビ愛知ミュージック チェースマンハッタン(ロンドン)
西友 糸山英太郎 テレビ東京ミュージック 財務大臣
千葉県 日本マスター信託  竹田本社  住友商事 モルガンスタンレー
毎日放送  村上(個人)
聖飢魔II
もう人形はいやだ
あみん
ちくわ
中山美穂
抜いてる毛剃ってる毛
BoA
カネクリ

168:Name_Not_Found
16/06/16 02:05:45.45 8/0PaIry.net
ちょっと質問があります。
コンピュータ・ソフトウェアに関してなのですが、全く新しい技術を開発して、
その技術を駆使して、今までに無いような斬新なアイデアのウェブサービスを立ち上げようと思った場合、
やはり、一流の大学・大学院の情報系の学部学科・研究科に入る必要があると思いますか?
東京大学理学部情報科学科に入りたいと思っているのですが、
現在23歳でもうすぐ24歳になるという年齢のことを考えると、
やはり年齢的に厳しいのではないかと思っているのです。
もちろん大学に入るのに年齢に上限は無いのですが、
それでも、この年齢で10代の人たちとやっていくのはいろんな意味でかなりキツイような気がするのです。
かと言って別の大学だともっと無理だと思うわけです。
別の大学だと東大以上に現役入学率が高いわけですから・・・・・。
なので、年齢にあまり関係がない通信制の大学を考えているのですが、
やはり、自分のような目的のある人は、通信制の大学なんかで学んでも、
あまり意味が無いのでしょうか?
やはり、一流の大学に入らないと自分が言ってるような目的を達成することは不可能なのでしょうか?
ちなみに、通信制の大学なんですが、北海道情報大学のシステム情報学科というところを考えています。
誰かいろいろと教えてください。お願いします。

169:TLSで無理矢理表示
16/06/19 03:32:48.03 .net
TLSで無理矢理表示
syndication.exoclick.com Go Daddy Secure Certificate Authority - G2
URLリンク(www.virustotal.com)
Malicious site
known infection source not recommended site adult content
URLリンク(www.virustotal.com)
URLリンク(www.ssllabs.com)
URLリンク(www.ssllabs.com)

170:Name_Not_Found
17/01/24 20:21:27.37 .net
age

171:Name_Not_Found
17/01/25 01:29:59.14 .net
age

172:Name_Not_Found
17/12/12 05:48:12.76 MrUcGD8N.net
HPなどで友達が稼げるようになった情報とか
⇒ URLリンク(asaswq3wq.sblo.jp)
興味がある人だけ見てください。
JQRZBVXHM2

173:Name_Not_Found
18/05/01 20:36:07.98 l1wYHpV1.net
誰でもできる在宅ワーク儲かる方法
少しでも多くの方の役に立ちたいです
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』
5TNTB

174:Name_Not_Found
21/10/31 10:47:32.96 l4JJV8UR.net
insertBeforeでフレーム内に要素を追加するにはどうすればいいでしょうか?
document.frames('a').document.getElementsByName('b')[0]
という感じで間にフレームを入れても追加できません

175:Name_Not_Found
21/10/31 14:06:38.92 .net
>>174
document.frames()じゃなくてwindow.frames[]
ちなみにローカルでテストする場合今時のブラウザはfileurlスキームからだと同じフォルダにあったとしてもクロスオリジンになってframe内には触れないのでサーバー立てる必要あり

176:Name_Not_Found
21/10/31 21:51:03.58 l4JJV8UR.net
>>175
ありがとうございます。
window.frames[]で追加できました
しかし、フレームの中にフォームがある場合は追加できません
window.frames[].document.forms[]も、
window.frames[].window.forms[]もダメで、
そもそもフレーム内に追加する例が見つかりません
もしかしたら、今時はこんなやり方はしないのでしょうか?

177:Name_Not_Found
21/11/01 06:51:53.73 .net
「javascript window.frames」で検索!

178:Name_Not_Found
21/11/01 23:27:28.70 XLAyepcU.net
>>177
やっとわかりました。
window.frames[].document.forms[].document.getElementsBy~じゃなくて、
window.frames[].document.forms[].elements[]なんですね
ずっとVBAの感覚で考えてました
ありがとうございました

179:Name_Not_Found
21/11/05 23:37:38.09 hm/glH/N.net
document.querySelector("#hoge").innerHTML = <span role="textbox"><test></test></span>";
と入力してテキストボックス内に<test></test>と表示したいのですが上手く行きません
<を&lt;にエスケープすれば解決しますが、他に"<test></test>"で囲ったりして解決する方法はないのでしょうか?

180:Name_Not_Found
21/11/06 00:56:29.15 .net
document.querySelector("#hoge").innerHTML = '<span role="textbox"></span>';
の後に
document.querySelector("#hoge>span").innerText = '<test></test>';
とか?
悪いけどエスケープよりメモリ・速度とも効率悪いよ
なんでそんな要件なのか、何がしたいのか全然書いてないからこうしたら?のアドバイスもしづらい

181:Name_Not_Found
21/11/06 13:10:59.32 .net
>>179
エスケープ用の関数用意してからテンプレートリテラルで
console.log(`<span role="textbox">${escape_html("<test></test>")}</span>`);
URLリンク(qiita.com)

182:Name_Not_Found
21/11/06 19:56:40.04 .net
関数にしただけで何も解決しとらんが

183:Name_Not_Found
21/11/07 11:15:41.65 .net
自分のホムペに天気予報だけとってきて出したいんですが、できますか?
IFRAMEを使えばできると自分は聞いたんですが相手の画面全部が入っ
てしまいます。焦ってます。JAVAが得意でなんとか出来る方法を知って
る方お願いします。

184:Name_Not_Found
21/11/07 11:53:21.29 .net
Windows10なら天気は常時右下に表示されてると思うけど、需要あるんかいな

185:Name_Not_Found
21/11/07 13:47:16.00 .net
のようなコードが出てきますが出来ません
Rubyとかはサイトが非対応みたいです

186:Name_Not_Found
21/11/07 13:59:49.02 .net
自分のサイトに置いてあるjsonファイルを一緒に置いてある
javascriptから書き換える方法を知ってる人いますか
(URLが書き込めない)
のようなコードが出てきますが出来ません
Rubyとかはサイトが非対応みたいです
jsonの内容は{"a":1}だけで
aを2に変えるだけのコードを教えてください
言葉で説明されても全くわかりません

187:Name_Not_Found
21/11/07 14:01:00.20 .net
function WriteToFile(){
let hugastring = JSON.stringify(huga);
let blob = new Blob([hugastring],{type:"text/plan"});
let link = document.createElement('a');
link.href = UR.createObjectURL(blob);
link.download = '作ったファイル.json';
link.click();
}

188:Name_Not_Found
21/11/07 14:02:59.69 .net
これは何をするコードですか?

189:Name_Not_Found
21/11/07 14:26:59.38 .net
スクリプト初心者です。教えてください。
画像(25枚くらい)をページの端のほうに小さくスライドショー
でのせたいと思っています。
画像の出方はアクセスするたびランダムで
どの画像をクリックしても同じURLへ別windowで飛ぶようにしたいんです。
どうにかスライドショー&リンクまではできましたが
どうやっても別windowで開かないんです。
どうすればいいのでしょうか?
よろしくお願いします。

190:Name_Not_Found
21/11/07 16:04:02.22 .net
>>189
単にaタグで囲めばいいんじゃない?
JSでやる必要ないよ

191:Name_Not_Found
21/11/07 22:01:49.66 .net
>>190
ありがとうございます。
何度もソースコードを投稿しようとしているのですがはじかれます。
すみません。

192:Name_Not_Found
21/11/07 22:40:59.85 .net
スクリプトタグは、はじかれる。
<scr@ipt>
コードは、jsfiddle, paiza などへ書けばよい。
>>2-4
を参照

193:Name_Not_Found
21/11/07 23:01:26.08 .net
>>183
iframe にサイズ指定をすれば、小さく表示されるのでは?

194:Name_Not_Found
21/11/07 23:12:08.03 .net
>>186
ファイルの保存は、バックエンド(サーバー側)の言語で書く
例えば、Ruby on Rails なら、Rubyで書く。
Word Press なら、PHP で書く。
Node.js なら、JavaScript で書く
だから、まず、サーバーのフレームワークが何で、言語が何か、調べなければならない
それかサーバーに、ファイル保存用のAPI が作ってあって、
それを通して、保存できるようになっているとか

195:Name_Not_Found
21/11/08 19:57:21.50 .net
>>194
ありがとうございます
意味わからなくて無理そうなのでjsonに保存するのは諦めて
javascriptの変数をメールフォームに入れて送るのを試してみます

196:Name_Not_Found
21/11/16 00:44:39.92 .net
すいません、下記のようにボタンを押した時の処理をあらかじめ一つずつJSで書いて書いてるんですが、
ボタンの種類と数が莫大な量になるとJSを書くのが大変になってきました
逆にクリックされた任意のボタンオブジェクトを変数に入れる方法ってあったりしますでしょうか
(ボタンがクリックされる→クリックされたボタンのclassやvalueやtextを調べて目的の処理、という順番に変更したい)
下記が現状のコードです

・html
<button class="BtnA" value="固有の番号">ボタンAタイプ</button>
<button class="BtnA" value="固有の番号">ボタンAタイプ</button>
<button class="BtnB" value="固有の番号">ボタンBタイプ</button>
・js
const BtnA = document.getElementsByClassName('BtnA');
for(i=0;BtnA.length>i;i++){
BtnA[i].addEventListener('click', () =>{
//ここに押された時の処理を書く(固有の番号毎に別々)
});
}
const BtnB = document.getElementsByClassName('BtnB');
以下BtnAのコードとほぼ同様の個別処理がBtnB~BtnXまで延々と続く感じ

197:Name_Not_Found
21/11/16 00:51:23.28 .net
イベント移譲
ボタンの親にイベントをつけてevent.targetを調べれば、押されたボタンが分かる

198:196
21/11/16 00:55:42.98 .net
求めてることのイメージ的には下記みたいな感じですがこの一番最初の行の書き方がわからないです
//何かわからんがボタンが押された!
ボタン〇〇addEventListener('click', () =>{
//何のボタンが押された?
クラス名=ボタン〇〇..className;
if(クラス名="BtnA"){
//その他処理
}
});

199:196
21/11/16 01:07:19.50 .net
>>197
調べてみるとこういうページが見つかったのですが、
URLリンク(alphasis.info)
これだと結局、各onClick処理を無数に書かないといけないように見えます

200:Name_Not_Found
21/11/16 02:07:21.30 .net
ボタンの外側のエレメントなりbodyなりにイベントリスナ仕込んでevent.target.nodeNameがBUTTONかどうかチェックすればいい

201:196
21/11/16 06:00:57.37 .net
>>200
ありがとうございます
このあたりのページの内容が教えて頂いたことに近いように思うのでまた明日やってみます
URLリンク(www.javadrive.jp)

202:Name_Not_Found
21/11/16 23:46:33.55 .net
class="BtnA BtnAll"
class="BtnB BtnAll"
みたいに、BtnAll で、すべてのボタンの処理をまとめれば?
jQuery で書けば、
<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>
$( ".BtnAll" ).on( 'click', function ( ) {
console.log( $(this).prop( 'value' ) )
} );

203:202
21/11/17 00:07:34.96 .net
>>202
では、event listener の数が多くなるのか。
それなら、外側・親に、イベントを付けて、親でイベントをキャッチする
jQuery で書けば、
<div id="btn-wrap">
<button class="BtnA" value="1">A-1</button>
<button class="BtnA" value="2">A-2</button>
<button class="BtnB" value="3">B-3</button>
</div>
$( '#btn-wrap' ).on( 'click', function ( event ) {
console.log( $( event.target ).prop( 'value' ) )
} );

204:Name_Not_Found
21/11/22 15:09:58.61 .net
この種の質問は何度もされてると思いますが prototypeを使った継承について教えてください
function Base(x=0,y=0) { [this.x, this.y] = [x, y] }
Base.prototype.hello = function () { console.log("hello:"+ this.x +"," + this.y) }
// パターン 1
function Derived(z=0) { Base.call(this,10,20); this.z = z }
Derived.prototype = Object.create(Base.prototype); // → Base {}
let obj = new Derived(30); // → { x: 10, y: 20, z: 30 }
obj.hello(); // → hello:10,20
obj.__proto__.__proto__.hello === Base.prototype.hello; // → true
// パターン 2
Derived.prototype = {...Base.prototype}; // → { hello: [Function (anonymous)] }
obj = new Derived(30); // → { x: 10, y: 20, z: 30 }
obj.hello(); // → hello:10,20
obj.__proto__.hello === Base.prototype.hello; // → true
obj.__proto__.__proto__.hello === Base.prototype.hello; // → false
よく紹介されているパターン 1 だと hello メソッドへの参照は 間に挟まった Baseインスタンスの分だけ遠くなります.
パフォーマンス的にはパターン 2 の方が良さそうに感じますが何か問題があるでしょうか?

205:Name_Not_Found
21/11/22 17:27:32.88 .net
スプレッド構文でコピーしちゃったらそのあとでBase.prototypeに何かしても反映されないし
getter/setter/列挙不可能プロパティあたりで問題があるかな

206:Name_Not_Found
21/11/22 17:49:48.60 .net
>>205 ありがとうございます
> あとでBase.prototypeに何かしても反映されない
ああ...確かにそうですね。

207:Name_Not_Found
21/11/23 11:38:08.30 .net
ES2015 から、class 構文が使えるから、
そういう、昔の書き方をしなくても良い

208:Name_Not_Found
21/11/23 12:58:06.42 .net
せやなclass構文よりオブジェクトリテラルのスプレッド構文の方が新しいし

209:Name_Not_Found
22/01/20 18:22:24.83 .net
ぷよぷよプラグラミングの質問なんですが
URLリンク(puyo.sega.jp)
p8の18行あたり initialize ()の中でイベントリスナーでキー操作呼び出してるのですが
initialize ()って一回しか読まないものだと思うのですがどこでキーイベント取得するのでしょうか
一般的なプログラムだとメインの動いてるところで取得するイメージなんですが?
static initialize () {
// キーボードの入力を確認する
this.keyStatus = {
right: false,
left: false,
up: false,
down: false
};
// ブラウザのキーボードの入力を取得するイベントリスナを登録する
document.addEventListener('keydown', (e) => {
// キーボードが押された場合
switch(e.keyCode) {
case 37: // 左向きキー
this.keyStatus.left = true;
e.preventDefault(); return false;
case 38: // 上向きキー
this.keyStatus.up = true;
e.preventDefault(); return false;
case 39: // 右向きキー
this.keyStatus.right = true;
e.preventDefault(); return false;
case 40: // 下向きキー
this.keyStatus.down = true;
e.preventDefault(); return false;
}
});

210:Name_Not_Found
22/01/24 18:28:14.40 .net
>>209
loop関数の最後に非同期のrAF(loop)があるから、その1/60秒の隙間でブラウザからキー入力を取得してんのかね。

211:Name_Not_Found
22/02/03 09:16:04.89 xW83/srj.net
nodejsでwebスクレイピングアプリを作っています
<body topicId="2557157" state="old">
こういうhtmlタグがあって、stateのvalueを取りたいのですが
Document.getElementsByTagName("body")[0].state
こうしてみたのですがundefinedとなります
取得する方法はないでしょうか

212:Name_Not_Found
22/02/03 13:05:19.10 .net
document.querySelector('body').getAttribute(’state’)

213:Name_Not_Found
22/02/03 13:16:12.01 .net
>>212
できました!ありがとうございます!

214:Name_Not_Found
22/02/06 13:35:18.15 .net
>>209
document.addEventListener('keydown', (e) => {
で、何回もイベント登録されたら、大変。
イベント登録は1回だけでよい
登録しておけば、keydown される度に処理される

215:Name_Not_Found
22/02/16 11:41:08.50 .net
ヘイ、ジャックス!で括ったら辛せに慣れるかも

216:Name_Not_Found
22/02/25 00:38:48.27 CkkK8ZAi.net
見てる人いるかわかりませんが
ellipseでcanvasに楕円を描写したあと中央の部分をくり抜いて透明にしたいです
ellipseで緑色に描写した後arcで中心に円を描いてclipしても円の線が切り抜かれるだけで円形の穴はできませんでした。

217:Name_Not_Found
22/02/25 17:01:23.34 .net
「html canvas 図形 切り抜き」などで検索すれば?

218:Name_Not_Found
22/03/03 20:47:13.54 FU1IYJw+.net
スレ間違えたので、こちらで出直します
拠ない事情でフロントエンドを作ってるんだけど
<a><img></a>でaにaddEventListener(‘click’)したのに、飛んできたイベントのtargetプロパティがimgになってる
aを探して遡るのはなんか負けの気がする
aにイベント飛ばさせるテクはありますか?

219:Name_Not_Found
22/03/03 21:08:25.47 .net
>>218
a要素にaddEventListenerしたんならcurrentTarget
URLリンク(developer.mozilla.org)

220:Name_Not_Found
22/03/04 02:30:11.83 .net
jQuery では、外側・親にイベントを付けて、親で、子のイベントをキャッチできる。
event.target で、子のvalue の値、1,2,3 を取得できる
<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>
// 外側・親にイベントを付けて、親で、子のイベントをキャッチする
$( '#btn-wrap' ).on( 'click', function ( event ) {
const value = $( event.target ).prop( 'value' )
console.log( value )
alert( value )
} );

221:Name_Not_Found
22/03/04 02:38:11.01 .net
「js event.target vs event.currenttarget」で検索してみれば?

222:Name_Not_Found
22/03/04 12:04:46.12 vu0iDZXJ.net
ありがとう皆さん
currentTargetで目的を果たせました

223:Name_Not_Found
22/03/06 14:04:14.27 nmfY1egB.net
自分のサイトにあるフォーム
↓①
googleフォーム
↓②
googleスプレッドシート
と情報を渡す時、①の部分はどのように実装すると良いでしょうか
・自分のサイトの「送信」ボタンを押すと、submitで送信する
・自分のサイトの「送信」ボタンをaタグにし、hrefをjsで編集する
①の部分はここを参考にしています
URLリンク(stackoverflow.com)

224:Name_Not_Found
22/03/06 22:36:58.30 .net
aタグは、get しか出来ないでしょ?
Ruby on Rails では、post なども出来るようにしているけど
[Rails]aタグでも「data-method="delete"」を設定すればlink_toと同じ挙動
URLリンク(qiita.com)
form = $('<form method="post" action="' + href + '"></form>'),
aタグをクリックされたら、見えないフォームを作って、post 送信している

225:Name_Not_Found
22/03/06 22:48:29.21 .net
>>224
は?rubyとかもう化石じゃないですか。使いませんよ
postするならsubmitすればいいだけだし。rubyってこんなアホしか使ってないんですか?

226:Name_Not_Found
22/03/06 22:49:42.83 nmfY1egB.net
すいません、あまりの気持ち悪さに口が悪くなってしまいました
あとID隠してしまいましたが>>225は私です

227:Name_Not_Found
22/03/07 11:55:01.12 .net
>>223
普通に前者で良いよ。
むしろ後者にする必然性が何一つない
もし合計を出す、税込みにするなどでどうしても加工したいなら、後者はありえる
あとこのrubyキチガイはrubyという言語を終わらせるために活動しているので、相手しなくていいぞ

228:Name_Not_Found
22/03/07 15:10:53.63 .net
うーむ、めちゃはまってしまってる
1:スプレッドシートのE列を配列 arrColWork に格納
range = workReportSheet.getRange(1,5,150);
arrColwork =range.getValues();

2:arrColWorkから重複排除した要素だけをarrColに格納
 arrCol = arrColWork.filter(function(value, index, self){return self.indexOf(value) === index;});

上記1→2の流れやりたいんだけど 2 がうまくいかない
重複排除されずに全件arrColに格納されてしまう…
テストケースとしてE列の先頭行(1行)と最終行(150行)に"野口"と入力
2行~149行には"田中"を入力したもので試したが全部出力されてしまってる
1の結果を Logger.log(arrColwork); で出力したら正常にE列の1行目から150行目まで入力した値がきちんと配列に格納できてる
2の結果を Logger.log(value + ":" + index + ":" + self.indexOf(value)); で出力したら
valueはきちんと150件分入力したものが入ってるが、index と self.indexOf(value) が同じ値になってしまってて
全部 True になってる self.indexOf(value) が機能してない?
原因わかるやつおる??

229:Name_Not_Found
22/03/07 15:58:20.23 .net
valueがオブジェクトだったみたいな振る舞いですね

230:Name_Not_Found
22/03/07 16:23:09.72 .net
試してたら1の部分を arrColwork = ["野口","野口","田中","橋本","田中","小林","入間"]; のように
ソースコード内で配列の中身を指定するように置き換えたら2のコードのまんまできちんと重複を排除できた
スプレッドシートのE列の値を配列に格納するあたりで何かひっかかってる??

231:Name_Not_Found
22/03/07 16:28:12.67 .net
うーむ、getValues()で取得したものは1列分であっても二次元配列で取得されてるってことかな
んでもって、indexOf() は一次元配列にしか使えない…

232:Name_Not_Found
22/03/07 16:29:11.92 .net
スプレッドシートの1列分のデータを一次元配列で取得する方法ってないのかな??
二次元配列で取得したものをforで回して一次元配列に格納しなおすしかないんだとしたらめんどい

233:Name_Not_Found
22/03/07 16:36:09.66 ua+lBOoP.net
A. URLリンク(www.example.com) (有料SSL)
のフォームから
B. URLリンク(abc.example.com) (無料SSL)
へPOSTでデータを渡していました。
Aのフォームでsubmitボタンに対し、
リロードさせないようにpreventDefault()を入れてBに渡していました。
Aの有料SSLを無料SSLに変えて同時にwww無しのドメインに正規化しました。
するとpreventDefault()を入れるとデータが飛ばなくなってしまいました。
結局submitボタンをtype=buttonに変えて、
JavaScriptでsubmit()することで飛ばせるようには鳴りました。
2つ(有料SSLとwww外し)を同時にやってしまったのですが、
なぜAからBへダメになってしまったのでしょうか?

234:Name_Not_Found
22/03/21 15:15:21.43 EwLxpvLS.net
お前ら和歌山県出身の下村拓郎様(35歳独身、元自衛隊)をご存知か、この方は将来素晴しい人物になるから覚えておいて損はないぞ

235:Name_Not_Found
22/03/21 16:54:18.28 .net
javascript素の実装で
fetchした結果をreturnしたいんだけど毎度おなじみ非同期の沼に嵌ってよくわからない
これreturn書いても書かなくてもpromise返ってるんだけど
promiseから値を取り出すにはどうすればよいの?
みんなどうやってるのか聞きたいな
毎度コールバックでfetchとかコード大変なことになるし
共通jsに別関数でgetListみたいな名前でAPI問い合わせしてjson返すようなデザパタは
Javascriptではご法度なの?

236:Name_Not_Found
22/03/23 04:54:11.57 .net
javascriptではというかGUIが絡むコーディングではどの言語でもご法度だよ
シングルスレッドならね
言語(&環境)によってそれをマルチスレッドで解決するか非同期で解決するかというだけ
とはいえやりたければjavascript(&ブラウザ)でそういう同期処理的なふうにできなくもないよ
当然メインスレッドブロックするけどね
おとなしくasync/await勉強すべきだと思うけど
MDN読みながら手を動かして1~2時間もあればだいたい分かると思うけどその程度の手間も惜しいの?

237:Name_Not_Found
22/03/23 06:14:31.61 .net
ちんちんシュッ!シュッ!シュッ!

238:Name_Not_Found
22/03/23 12:42:18.82 .net
Callback 地獄 → Promise 地獄 → async/await
JavaScript には、こういう変遷の歴史がある。
Promise は、jQuery の時代の技術

239:Name_Not_Found
22/03/28 21:12:24.23 .net
aタグを全て新規タブで開きたいと思い、
以下のコードを書いてみたのですが
Uncaught TypeError: foo.forEach is not a function
at <anonymous>:2:5
というエラーになりました
foreachの書き方が間違っているのでしょうか
それとも、fooに対してはforeachが使えないのでしょうか?
var foo = document.getElementsByTagName("a")
foo.forEach(function(bar){
window.open(bar.getAttribute);
});

240:Name_Not_Found
22/03/28 22:56:41.36 .net
>>239
> それとも、fooに対してはforeachが使えないのでしょうか?
これが正解、fooは配列じゃなくてHTMLCollection
URLリンク(developer.mozilla.org)

241:Name_Not_Found
22/03/28 23:17:02.61 .net
>>239
querySelectorAllならIE以外でforEachが使えるけど
今時のブラウザはブラクラ防止で一つの処理でwindow.openは1回しか動かないものが多いよ

242:Name_Not_Found
22/04/02 11:02:19.53 .net
15年ぐらい前のlightbox環境は毎秒5フレームぐらいのカクカクした感じなんだけど
スムーズにするにはどこを触ればいい?
lightbox2はうまく動かなかった
なんとかlightbox.jsのパラメータを触って実現できたらいいんだけど

243:Name_Not_Found
22/04/07 21:02:43.08 .net
cssを直で書く
jsでアニメーションはカクカクになる

244:Name_Not_Found
22/04/09 05:38:43.91 .net
javascriptでブラウザの外に画像を表示したり、動かしたりする事ってできますか?

245:Name_Not_Found
22/04/09 06:34:14.46 .net
できないよ

246:Name_Not_Found
22/04/09 15:49:49.88 .net
条件を後出しせず、書かれた通りの質問なら、できるよ

247:Name_Not_Found
22/04/10 05:44:51.10 .net
>>246
URLとか忘れたんですけど、以前ブラウザのボタンを押すとブラウザの後ろから画像がニョキッって横に飛び出る動画見た事あるんですよね
アレってjavascriptなのかなーって疑問を抱いてました

248:Name_Not_Found
22/04/22 15:57:04.46 CYTDFVnn.net
test.jsの中で
(function(){
var a = 1;
})();
と変数を宣言しましたがchromeのコンソールでこのaを取得するにはどうすればよいのでしょうか?

249:Name_Not_Found
22/04/22 16:38:41.57 .net
breakpoint入れてその関数実行時にスコープの中に入らないと無理じゃないかな
スクレイピング用途ならhttp proxyかましてスクリプトを変更して外部からアクセスできる変数にする

250:Name_Not_Found
22/04/22 22:33:33 .net
>>248
無名関数は、
var a = 1;
が他に影響しないようにするための便利な書き方なんだ
その中見を無理に使おうとすると

var a = 2;
(function(){
a = 1;
})();
console.log(a)

のようなアホみたいな書き方になる
aを使いたいなら、
a = 1;
だけで良い

251:Name_Not_Found
22/04/23 04:13:46 .net
>>249 >>250
ありがとうございます。
すごい分かり易かったです。

252:Name_Not_Found
22/04/29 18:35:35.70 .net
今だと非同期関数を作るときはasyncを付けます。
まだasyncが登場してない時ってどうやって自作の非同期関数を作っていたのでしょうか。

253:Name_Not_Found
22/06/04 19:32:18.50 .net
どなたか教えてください。
<body>
<script>
var str = document.getElementById{"test").innerHTML;
str = str.replace(“やま”, “ほし”);
document.getElementById("test").innerHTML = str;
</script>
<div id=“test”>
<p>うみ</p>
<p>やま</p>
</div>
</body>
としてもブラウザーには
うみ
やま
と表示されてしまいます。
どこか間違っているのでしょうか?
その場合どこを直せばいいでしょうか。
よろしくお願いします。

254:Name_Not_Found
22/06/04 21:56:17.30 .net
釣られないぞ

255:Name_Not_Found
22/06/04 21:58:29.74 .net
>>253
ダブルクォートやカッコが間違ってる
scriptタグを</div>より後に

256:Name_Not_Found
22/06/04 22:01:16.83 .net
DOMがreadyになってから実行しろって話じゃないの?

257:Name_Not_Found
22/06/04 22:15:41.08 .net
みなさんレスありがとう。
()と”を’に置き換えて下記のようにしてみました
<div id=“test”>
<p>うみ</p>
<p >やま</p>
</div>
<script>
var str = document.getElementById('test').innerHTML;
str = str.replaceAll('うみ', 'ほし');
document.getElementById('test').innerHTML = str;
</script>
しかしブラウザでは うみ やま と表示され ほし やま になってくれません。

258:Name_Not_Found
22/06/04 22:44:00.21 .net
シングルクォートにしろという事ではなく全角ダブルクォートなのが間違い
<div id="test">

259:Name_Not_Found
22/06/05 07:14:56.13 .net
>>258
半角だと思うのですがこれじゃだめなんですね。

260:Name_Not_Found
22/06/05 07:20:42.56 .net
お騒がせしています
<div id="test">
<p>うみ</p>
<p >やま</p>
</div>
<script>
var str = document.getElementById("test").innerHTML;
str = str.replaceAll("うみ", "ほし");
document.getElementById("test").innerHTML = str;
</script>
このように書き換えましたがはやり うみ が やま に変わりません。
どこかどのようにだめなのかわかりませんか?

261:Name_Not_Found
22/06/05 07:25:18 .net
すみません。混乱していて。
うまく表示されていたようです。
初歩的な事にレスをいただいてみなさんありがとうございました。
感謝します。

262:Name_Not_Found
22/06/05 16:32:21 GSVgB4j6.net
const express = require('express');
const server = express();

と書いた場合と、express(); の前に new を付けて、

const express = require('express');
const server = new express();

と書いた場合、何が違うのでしょうか?
同じように動作しているように見えます。

263:Name_Not_Found
22/07/21 18:28:05 bVEASdty.net
こういう鍵盤をイメージしたボタンが複数60Keyほどあって、鍵盤のキーをクリックしたらイベントを開始したい。

<span class="white-key" data-key="90" data-note="1c"><i>ド</i></span>
<span class="white-key" data-key="88" data-note="1d"><i>レ</i></span>
<span class="white-key" data-key="67" data-note="1e"><i>ミ</i></span>
.
.
.

しかし、id属性がないので、

let button = document.getElementById('xxx');
button.addEventListener('click', butotnClick);
とは記述できない。

jQueryや、Reactや、Vue.jsなどは使わず記述する方法ありますか?

264:Name_Not_Found
22/07/21 19:17:04.35 .net
要素を取得する方法の問題?
id属性がなくてもwhite-keyクラスがついてるってわかってるなら
URLリンク(developer.mozilla.org)
を使えば要素の一覧が取得できる

265:Name_Not_Found
22/07/21 19:17:59.47 .net
>>263
classなりなんなり共通してる他の属性を使えばいい
document.querySelectorAll(".white-key, .black-key").forEach(elem => elem.addEventListener("click", buttonClick));

266:Name_Not_Found
22/07/21 19:28:53.96 .net
>>264,>>265
ありがとうございます。やってみます。この方法なら、keyごと(ボタンごと)に、
addEventListener()
つくらなくていいのかもしれないですね。
60個も、addEventListener()つくるのは面倒だなと思ってました。

267:Name_Not_Found
22/07/21 19:31:46.38 .net
あ。いや。ボタン毎にaddEventListener()記述しないと、同じ音が出てしまうな。。

268:Name_Not_Found
22/07/21 19:42:44.93 .net
繰り返しaddEventListenerでイベントハンドラ設定するのが嫌なら、
適当な親要素にイベントハンドラつけてそのイベントハンドラ内で
let button = event.target.closest(".white-key");
ってやればいいんじゃないかな
URLリンク(developer.mozilla.org)

269:Name_Not_Found
22/07/21 23:38:14 .net
こんな感じかね
URLリンク(jsfiddle.net)

270:Name_Not_Found
22/07/22 08:54:33.42 LPjEgNsv.net
フリーランス向けエージェント「クラウドテック」会員数8万人突破
~働きやすい環境構築のため、単価向上・全年齢の活躍の場創出・
地方企業のDX推進の取り組みを強化します~
フリーランスエンジニア専門の案件一括検索サイト「フリーランススタート」、
累計掲載案件数25万件突破!リモートワークの累計掲載案件数35,000件突破!
新規人材の80%がフルリモート希望! IT人材市況動向レポート2021年12月版を公開
人口移動報告 家賃高い、首都圏脱出 「コロナ禍、仕事フルリモート」
クラウドテック、地方企業向け『クラウドテックDX』を開始、
7万人を超えるDX人材が、地方の非IT企業のDX推進を支援
新潟県、移住してきたテレワーカー/フリーランスに最大50万円を支給
テレワークの一般化により、11月にはテレワーク可能案件83.7%へと増加。
2021年、フリーランスのトレンドは「移住&テレワーク」と予測

271:Name_Not_Found
22/07/22 15:02:06.74 .net
jQuery で、外側・親にイベントを付けて、親で子のイベントをキャッチする。
$( event.target )
<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>
$( function ( ) {
// 外側・親にイベントを付けて、親で子のイベントをキャッチする
$( '#btn-wrap' ).on( 'click', function ( event ) {
const value = $( event.target ).prop( 'value' )
console.log( value )
} );
これで、1,2,3 などが出力される

272:Name_Not_Found
22/07/22 20:52:23.24 .net
なんでjQuery?

273:Name_Not_Found
22/07/22 21:45:39.09 .net
>268
>269
>271もかな。
ありがとうございます。
>269の発想はJavaScriptに慣れてないとできそうじゃないねえ。
勉強になりました。参考にさせていただきます。

274:271
22/07/22 23:10:42.75 .net
JavaScript は難しすぎる。
バグってばかりで、アホらしい
漏れは、Ruby, jQuery ぐらいしか書けない

275:Name_Not_Found
22/07/23 00:06:45.72 .net
言語とライブラリを混同してる時点で理解不足としか

276:Name_Not_Found
22/07/23 03:29:16.41 FClyRvyS.net
疑似的に、sablimeTextとか、VisualStudioCodeを模して
ソースコードに対して、キーワード毎に色付けるような、
javascriptのパッケージてないですか?

277:Name_Not_Found
22/07/23 04:01:34 .net
すいません。わかりづらいので修正。
ソースコードに対して×
htmlに書かれた、スニペットに対して〇

278:Name_Not_Found
22/07/23 13:09:05.45 .net
こういうの?
URLリンク(qiita.com)

279:Name_Not_Found
22/07/23 14:30:30.90 .net
ありがとうございます。まさにそれです。

280:Name_Not_Found
22/07/27 14:20:46.26 4QcDaVi1.net
これで音がなるのですが、zingle.mp3は10秒程度の長さです。
3秒ぐらいで音をストップさせるにはどうすればいいですか?
const sound_c = new Audio('sound/zingle.mp3');
sound_c .play();

281:Name_Not_Found
22/07/27 14:34:05.59 .net
setTimeout()で解決しました。おさわがせしました。

282:Name_Not_Found
22/08/03 18:48:40 Nj6BOTMG.net
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="URLリンク(code.jquery.com)></script>
<title>サンプル</title>
</head>

<body>
<input type="button" value="再生" id="button">
<script>
if ($('#button').val() === "再生"){
$('#button').click(function() {
console.log($('#button').val());
console.log($('#button').val() === "再生");
console.log("再生をはじめました。");
$('#button').val('停止');
});
}
</script>

</body>
</html>
今すっごくハマっているところですが、input要素のvalue値を変化させると、ボタンをクリックさせないように設定しているのですが、
そんなの関係なしに、ボタンがクリックできてしまいます。
これは、どういった理由で変な処理が可能になっているのでしょうか?今後ハマらないためにどのような注意をすればよいでしょうか?

283:Name_Not_Found
22/08/03 20:01:54.34 Nj6BOTMG.net
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="URLリンク(code.jquery.com)></script>
<title>サンプル</title>
</head>
<body>
<input type="button" value="再生" id="button">
<script>
var playing_flag = false;
if (playing_flag === false){
$('#button').click(function() {
console.log('ボタンが押された');
console.log(playing_flag);
$('#button').val('演奏中止');
playing_flag = true;
console.log(playing_flag);
// run();
});
}else{
console.log(playing_flag);
// reset();
}
</script>
</body>
</html>
flag用の変数を使ってもダメだった。どこで躓いているんだろ。。

284:Name_Not_Found
22/08/03 20:12:43.40 .net
こういうこと?
ボタンを無効化させる意図がよく分からんけど
disableかstyleのpointer-eventかければいいだけかと
URLリンク(i.imgur.com)

285:Name_Not_Found
22/08/03 20:17:43.28 Nj6BOTMG.net
もちろん、もともとの目的は無効化なんだけど。
それより、
if(false){
実行A
}
の状態なのに、実行Aが実行されているのが気になって。

286:Name_Not_Found
22/08/03 20:22:18.94 .net
false === false は真だろ

287:Name_Not_Found
22/08/03 20:23:51.02 Nj6BOTMG.net
お。

288:Name_Not_Found
22/08/03 20:27:15.89 .net
そっかー。ありがとう。これに2時間悩んでたww

289:Name_Not_Found
22/08/03 20:32:11.88 Nj6BOTMG.net
いや。解決してない。

290:Name_Not_Found
22/08/03 20:36:38.79 Nj6BOTMG.net
<script>
var playing_flag = false;
if (playing_flag === false){
$('#button').click(function() {
console.log('ボタンが押された');
console.log(playing_flag);
$('#button').val('演奏中止');
playing_flag = true;
console.log(playing_flag);
// run();
});
}else{
console.log(playing_flag);
console.log('2回目はこっちが押されるはずでは?');
// reset();
}
</script>
1回目のクリックは、if文の実行で問題ないのだけど。
2回目のクリックは、else文を実行するのでは?

291:Name_Not_Found
22/08/03 20:48:32.41 Nj6BOTMG.net
<input type="button" value="再生" id="button">
<script>
var playing_flag = false;
const btn = document.getElementById("button");
var run = () => {
console.log(playing_flag);
console.log("再生中");
playing_flag = true;
};
var reset = () => {
console.log(playing_flag);
console.log("停止");
playing_flag = true;
};
if (playing_flag === false) {
btn.addEventListener("click", run, false);
} else {
btn.addEventListener("click", reset, false);
}
</script>
jQueryが悪いのかと思って、イベントリスナーでクリックしてみたけど。
やっぱり2回目のクリックでelse文を実行しない。
なんか、おれ勘違いしてる????

292:Name_Not_Found
22/08/03 20:52:18.36 Nj6BOTMG.net
ちょっと訂正。
var reset = () => {
console.log(playing_flag);
console.log("停止");
playing_flag = true;
};

var reset = () => {
console.log(playing_flag);
console.log("停止");
playing_flag = false;
};

293:Name_Not_Found
22/08/03 20:53:44.88 .net
その2回通ると思い込んでるif文はイベントハンドラでも何でもないんだからボタン押される前の1回しか通らないよ

294:Name_Not_Found
22/08/03 21:00:45.56 Nj6BOTMG.net
え。意味がよくわからない。イベントハンドラじゃないから、1回しかとおらない。。??

295:Name_Not_Found
22/08/03 21:13:35.85 Nj6BOTMG.net
ずっとコードを眺めてみたら、
>>290のコードは確におかしいことは分かってきた気がする。

296:Name_Not_Found
22/08/03 21:37:07.14 .net
>>291,292のコードも、イベントリスナー使ってますけど。
2回クリックしてもelse文にはならず、if文を2回実行しているのでしょうか?

297:Name_Not_Found
22/08/03 21:56:45.64 Nj6BOTMG.net
playing_flag = false;
var run = () => {
if(playing_flag === false){
console.log(playing_flag);
console.log("再生中");
playing_flag = true;
}else{
reset();
}
};
var reset = () => {
console.log(playing_flag);
console.log("停止");
playing_flag = false;
};
const btn = document.getElementById("button");
btn.addEventListener("click", run, false);
納得いかないけど、>>291,292を上のように変えたら、
期待した通りに動いた。
ボタンの状態に、フラグをつけて、実行に条件を入れるときは注意しないと
いけんのかもなあ。

298:Name_Not_Found
22/08/03 22:04:04.33 .net
納得いかない、ねえ?
開発者ツールでどういう順番でどの行の処理がされるか確認したらいいんじゃないかな

299:Name_Not_Found
22/08/03 22:07:55.84 Nj6BOTMG.net
あ。そうですね。アドバイスありがとうございます。

300:Name_Not_Found
22/08/03 22:12:13.92 .net
>>297
むしろ、>>291でフラグ立ててイベントハンドラ振り分けてるのが最高に意味不明なんだが
イベント駆動について勉強してみたら?

301:Name_Not_Found
22/08/03 22:42:39.79 Nj6BOTMG.net
よくわかってなかったようだ。
下の認識でOKですか?雑ですが。。
「Javascriptはブラウザが開いたとき、上の行から下の行へ基本一回だけ実行する。
しかし、イベントが起きたら例外的にその箇所を実行する。」

302:Name_Not_Found
22/08/04 02:45:36.83 .net
>>301
HTMLスクリプト要素のdefer属性(DOMContentLoadedからの実行)とasync属性(HTMLScriptElement#onloadからの非同期実行)

303:Name_Not_Found
22/08/04 03:10:03.94 jGEKnkMs.net
>>302ありがとうございます。詳しく調べてみます。
>>291,292を
開発者モードでトレースしてみたのですけど。
ボタンをクリックすると、直前の条件の評価をせずに、
いきなりrun()の中を実行はじめました。
カレントの変数を無視して、初回時の条件が適応されているようです。
多分。疑問に思う方が変なのかもしれませんが、これは慣れですかね。。

304:Name_Not_Found
22/08/04 03:13:38.61 .net
例えば、HTMLスクリプト要素にasync属性が指定してあると、次の二つは共に実行されない。
new Promise(addEventListener.bind(this, 'DOMContentLoaded')).then(e => console.log(e));
await new Promise(addEventListener.bind(this, 'DOMContentLoaded')).then(e => console.log(e));
例えば、次は1回クリックしたら次は無い。
new Promise(document.addEventListener.bind(document, 'click')).then(e => console.log(e));
>>301
これら当たり前過ぎる例を説明できますか?
今のJSは巨大なフレームワーク、1997年レベルから2022年レベルにするの大変だろうけど頑張ってね。

305:Name_Not_Found
22/08/04 23:22:36.77 .net
>>297
>var playing_flag = false;
>if (playing_flag === false){ 処理 }
playing_flag が真偽値・bool 型なら、単にこう書けば?
if ( playing_flag )
基本、boolを比較してはならない。
すでに、boolになっているから

306:Name_Not_Found
22/08/04 23:38:01.22 .net
jQuery のon で、任意の要素に、任意のイベントを追加できる
<button id="btn_1" class="btn btn-primary">
<span class="show-when-enabled">送信</span>
<span class="show-when-disabled">送信中...</span>
</button>
<button id="btn_2">送信ボタンをenable にする</button>
<style>
button .show-when-enabled { display: initial; }
button[disabled] .show-when-enabled { display: none; }
button .show-when-disabled { display: none; }
button[disabled] .show-when-disabled { display: initial; }
</style>
$( function ( ) {
$( '#btn_1' ).on( 'click', function ( event ) {
$( this ).prop( 'disabled', true ); // disable にする
} );
$( '#btn_2' ).on( 'click', function ( event ) {
$( '#btn_1' ).prop( 'disabled', false ); // enable にする
} );
} );

307:Name_Not_Found
22/08/05 02:46:29.55 .net
もうjqueryスレと統合すべきだと思うの
両者の関連スレ合わせても勢い1すらないんだし

308:Name_Not_Found
22/08/05 07:46:34.74 .net
jqueryを使わずにpure jsで、ていう質問も大いにありえるから
分けたほうがいいとおも

309:Name_Not_Found
22/08/05 08:20:20.41 .net
JSスレはプログラム板のスレもあるんだよなあ
既にどちらも人がいないし、今から整理するのは無理そう
+ JavaScript の質問用スレッド vol.124 +
スレリンク(tech板)

310:Name_Not_Found
22/08/05 08:35:50.13 .net
どっちでも良い。
答える方としては、素のJS で書くのは非常に面倒
jQuery は可読性が高いので、読めない香具師はいないから、
ひとまず、jQueryで書いて、
それを質問者が書き直したければ、素のJSで書き直せばよい

311:Name_Not_Found
22/08/05 11:51:55.86 .net
jQueryスレやプログラム板でもいわれてるが、今は統合とかテンプレ修正とか、意欲ある人がいない
+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
スレリンク(hp板:683番)-687
+ JavaScript の質問用スレッド vol.124 +
スレリンク(tech板:253番)
>>307も統合を示唆してるが、「やりたいなら、お前が責任持ってやれ」といわれてもやらないだろ?
昔の風潮なら俺も手を貸しただろうが、今はやる気が全く起きないわ
まともな感性で保守する人は皆無だし、jQuery信者は健在だし、俺一人でどうにかなる問題でもないからな

312:Name_Not_Found
22/08/05 12:17:08.84 .net
jQueryスレはタイトル詐欺だから「jQuery質問用スレッド」にして
jQuery使わない人が迷い込まないようにすれば万事解決

313:Name_Not_Found
22/08/05 17:47:44.84 .net
>>312
リンク先をよく読め
jQueryスレは既にある
+ jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
スレリンク(hp板)

314:Name_Not_Found
22/08/05 19:12:45.74 .net
>>313
じゃ、タイトル詐欺スレを削除すれば解決だね

315:Name_Not_Found
22/08/21 11:50:33.80 5ThV/pZE.net
【環境】iOS Catalina 10.15.7,GoogleCrome104.0.5112.101
【何をしたのか】Editor.jsでデータを受け渡す方法について知りたいです。
【エラーメッセージ】そもそも方法がわからないのでエラー等は発生してません。
【期待する結果】Editor.jsで入力したデータを次のページで内容チェックし、更にMySQLへ登録したい。また、記事の編集の際にはMySQLからデータを読み出し、Editor.js上で編集したい。
【サンプルコード】このサイトとまったく同じ状態です。URLリンク(reffect.co.jp)
勉強のため自作のブログ投稿用CMSを作成しています。
formとphpで基本的な記事投稿(入力→実際の表示確認→MySQL登録)、記事の再編集(MySQLからのデータ読み込み→投稿フォームへの再表示→編集→MySQL更新)は完成しました。
ただ、現状では画像や表、リストなどを挿入するときにいちいちhtmlタグを入れなければいけないことから、WYSIWYGのひとつEditor.jsを使ってタグを自動生成したいと思っています。
phpのときには教科書どおりinputにnameをつけてPOSTでデータを受け渡してましたが、Editor.jsではdivにテキストエディタを表示させることから、どうやってデータを受け渡すのかつまずいています。
上記サイトではボタンを押すとconsoleに取得データを表示していますが、ボタンを押すと実際の記事表示を確認できるようにしたいと思っています。
どのようなやり方があるでしょうか。お力を貸してください。

316:Name_Not_Found
22/08/21 16:41:06.34 .net
>>315
console.logする代わりにデータ(JSON)を確認画面に渡して
確認画面側でEditorJSをreadonlyで表示するか
同じ画面でreadonly viewとedit viewとtoggleさせる(EditorJSのreadonly.toggle)
サーバーにPOSTするのはJSON

317:Name_Not_Found
22/08/22 08:46:09.58 .net
Ruby on Rails では、WYSIWYG エディターは、
Railsの作者・DHH の会社である、Basecamp 製のtrix を使う

318:Name_Not_Found
22/08/27 23:04:43.45 .net
もう終わりだよこの板も

319:Name_Not_Found
22/08/28 14:19:06.39 .net
JavaScriptスレは荒らされる前は平和だったんだけどね
今は見る影もない

320:Name_Not_Found
22/08/28 21:46:17.13 .net
今何とか機能してるのって愚痴スレとHTMLCSS質問スレとPHP質問スレがギリギリって感じか
語ることなんて特にないし仕方ないね

321:Name_Not_Found
22/08/31 23:57:52.92 .net
>>320
PHPも死んでね?

322:Name_Not_Found
22/09/01 22:47:44.67 .net
HTMLスレは板基準にすれば進んでるよなぁ
まあ最初にやるのがそれってのもあるけど。
初学者がくるようになればこっちも盛り上がるんだろうな?なるよな?

323:Name_Not_Found
22/09/01 23:34:56.25 .net
正直調べりゃ分かるからこっちに書き込むエネルギーなんて一々使わないだろってとこは思ってる
jsまで興味を持ったのなら調べるスキルっつーか知識欲も持ち合わせてるだろうし
その結果がこれよ

324:Name_Not_Found
22/09/02 00:35:32.25 .net
>>321
PHPの質問スレは板が違う
まあ向こうも同じようなもんだけど

325:Name_Not_Found
22/09/02 01:00:03.80 .net
javascriptもPHPもオワコン。
そしてプログラミングの初学者には難しすぎる
初心者はRubyから学習を始めるべき。
そしてRuby on Railsを習得すればPHPは不要
こっちのスレで質問すれば親切な達人プログラマーがどんな質問にも懇切丁寧に答えてくれる。
 ↓
Ruby 初心者スレッド Part 67
スレリンク(tech板)

326:Name_Not_Found
22/09/02 09:40:03.86 .net
>>325
スレリンク(tech板:512番)
> 512 デフォルトの名無しさん (ワッチョイ 027c-5Ix7) sage 2022/08/19(金) 13:31:40.23 ID:Gwz5c/EG0
> Rubyガイジがこのスレに誘導しているみたいだけど
> 今更Rubyなんて流行らないし>>503でも指摘されているけど
> 新規案件でRubyやRailsなんて採用しないから初心者が勉強するだけ無駄だぞw

327:Name_Not_Found
22/09/06 13:50:31.39 .net
RUNTEQ
【知らないと転職無理】未経験エンジニアの疑問全て回答!
www.youtube.com/watch?v=5IzjaC6vEg0
この動画では、Ruby on Rails から始めろと言っている
ウェブ系で最も使われているフレームワーク。
スタートアップでよく使われる
高速開発で、日本語の情報が多い

328:Name_Not_Found
22/12/29 12:19:48.08 .net
JSで「日付が変わると自動で音が鳴る」というものを作りたいです。

329:Name_Not_Found
22/12/29 14:40:03.89 .net
どうぞどうぞ

330:Name_Not_Found
23/01/01 04:14:06.90 .net
>>328
すいません
JavaScriptで日付が変わると自動で音が鳴るというものを作るにはどうしたらいいですか?

331:Name_Not_Found
23/01/01 04:55:49.86 vLbVtKKA.net
>>330
このスレじゃ無理
こっちのスレで質問してみよう。親切な達人プログラマーが懇切丁寧に教えてくれるよ
Ruby 初心者スレッド Part 67
スレリンク(tech板)

332:Name_Not_Found
23/01/01 13:49:46.89 .net
>>331
Rudyって何ですか?

333:Name_Not_Found
23/01/01 16:22:43.15 .net
>>331
イタズラ乙
スレリンク(tech板:593番)-594

334:Name_Not_Found
23/01/02 18:52:30.50 .net
>>325,331
4ヶ月前もRuvyスレ移行で受け入れられなかったのに、懲りない人だね

335:Name_Not_Found
23/01/03 15:44:37.55 .net
画面遷移に伴って、リクエストヘッダを追加したいときどうすればいいか教えてください。
・1 サーバサイドで「Location」レスポンスヘッダを指定してリダイレクトさせるときに、
リダイレクト先アクセスにリクエストヘッダを添付させることは可能ですか?
・2 ブラウザ側で画面遷移するときに、リクエストヘッダをつけることは可能ですか?
<a>タグ、JavaScriptの「location.href」にリクエストヘッダ追加できますか?
・3 同じく<form>を飛ばすときにリクエストヘッダ付けられますか?
(補足)リクエストヘッダをつけるときに、思い浮かぶのはAjax, XHRを使うことですが、
これを使うと画面遷移は伴いません。
OAuthの勉強をしていて、アクセストークンをブラウザで保持して、それをAuthorizationヘッダーに
添付しないといけないことが分かったので、それをどうやってリクエストヘッダにセットするのかを調べています。
もしあるなら、その実装方法が載っているサイトが見つからなかったので教えてください。

336:Name_Not_Found
23/01/03 15:59:37.14 .net
>>335
これを質問した者と同じ者ですが、解決方法が分かったかもしれないので書きます。
まず一度、認証情報なしでアクセスすると、
サーバ側が「401: Authorization Requed」ステータスを返してきて、
そこに「WWW-Authenticate」というレスポンスヘッダで認証が必要である指定が返ってくるので、
それが返ってくるとブラウザは自動でAuthorizationヘッダをセットして再アクセスするので、
サーバサイドは、401を返して、WWW-Authenticateヘッダをレスポンスするように実装しておいて、
一度401でわざと失敗させればよいため、最初から自分でAuthorizationヘッダを添付しなくてもいいのかもしれません。
しかし、ブラウザはそれで自動的に正しいアクセストークンを選んでくれるのでしょうか?
認証サーバ(IdP)から払い出されたアクセストークンをブラウザのローカルストレージか何かに保存しとくと思いますが、
それを適切に選んでくれるかが心配です。

337:Name_Not_Found
23/01/03 16:25:07.78 .net
リダイレクト時にカスタムヘッダーを追加するのは無理
ブラウザがローカルストレージから自動的に特定のアクセストークンを取得してヘッダーに追加するようなことがあればセキュリティ的に大問題なのでこれも無理
(カスタムヘッダー無しのCookieだけでいいなら可能)
XHRで取得したレスポンス使ってクライント側JavaScriptで画面を更新する他ない

338:Name_Not_Found
23/01/03 16:31:47.61 .net
>>337
そのクライアント側JavaScriptで画面を更新するときに、
Authorizationヘッダーを要求されませんか?
そもそも、アクセストークンを要求するのはデータ取得用のAPIだけにとどめておいて、
画面を描画するようなURLに対してアクセストークンを要求してはいけないということでしょうか?

339:Name_Not_Found
23/01/03 23:40:35.44 .net
最近までAuthorizationヘッダーがそのままリダイレクトされてたみたいw
URLリンク(github.com)
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.
URLリンク(www.rfc-editor.org)

340:Name_Not_Found
23/01/04 00:34:28.00 .net
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優先

341:Name_Not_Found
23/01/04 20:25:37.82 afahpZwg.net
>>339
XHRで非同期でリクエストヘッダを付けてサーバへ送信すると
サーバサイドでLocationヘッダーでリダイレクトすると次のリクエストにも暗黙的に前のリクエストヘッダーが引き継がれるのか?
なかなか複雑だな。

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

342:Name_Not_Found
23/01/09 18:06:47.49 .net
初学者の者です

「Pixiv Filter」というChromeの拡張機能の話なんですけど、この拡張機能の一つに、Pixivの検索結果画面で、イラストごとの割り振られたタグを、本来は表示されない検索結果の画面で表示してくれるというものがある
この機能なんだけど、コード(GitHubで公開されている。URLはスパム対策で貼れない、申し訳ない)を読んでも仕組みがどうにも理解できなかった。
「イラストのURLに飛んで、そこからリンクを取得してくる」といったものかとも思ったが、どうやら違う模様
詳しい方いらっしゃったら、ご教授頂きたいです

343:Name_Not_Found
23/01/09 19:33:20.74 .net
ざっと見たところ
・作品ごとのタグは検索結果画面には表示されないものの検索結果データとして飛んできている
www.pixiv.net/ajax/search/artworks/***のリプライ内のdata[].tags[]という配列がそれ
・バックグラウンドで取得し直してそれをストレージに格納している
background.tsの123行目あたり
type.d.tsのWorksData型にtags配列あり
・検索画面にそれを表示している
search_page.tsの97行目あたり
実際に拡張機能入れて動かしたわけでもないしソース追っただけだから適当だけど

344:Name_Not_Found
23/01/09 21:27:33.60 .net
>>343
ご教授感謝です、参考にさせて頂きます

345:Name_Not_Found
23/01/10 01:47:07.95 .net
ちょっとしたデータを取得するのに、
「イラストのURLに飛んで、そこからリンクを取得してくる」みたいな、
副問い合わせをやっていたら大変

346:Name_Not_Found
23/01/11 00:32:53.42 dBdRyffW.net
>>345
ですよね…なんかちょっと変かな?という気はしていました、ありがとうございます
「API」とか「ストレージ」「トークン」「クッキー」みたいな通信の部分がからっきしなもので、色々調べながらやらせて頂きます

347:340
23/01/11 04:43:41.70 .net
漏れらだって、Ruby on Rails, Linux, Docker, AWS Solution Architect しか分からない
>>340
に書いたように、誰かが作った、退屈な雛形を自動生成して作っている
CSRF, Strong Parameter, pjax, place holder、データベースの設計など、
全部Railsで勉強しているだけ

348:Name_Not_Found
23/01/11 11:01:19.44 .net
>>346
察するにその拡張機能を調査分析するのに必要なスキルがまだ足りてないから
もう少し基礎知識を身につけてから挑んだ方がいいと思うよ
分不相応な挑戦は時間のムダにしかならない
あとRailsはNGワードに入れといた方がいい

349:Name_Not_Found
23/02/21 11:34:13.09 .net
cssファイルのセレクタに、別のjsonファイルの値をインポートして使える方法とかありませんか?
【jsonファイルの値】{color:green;}
みたいな。

350:Name_Not_Found
23/02/22 02:42:08.74 .net
sassファイルに、jsonファイルの読み込みとかってできたりする?

351:Name_Not_Found
23/03/24 07:50:31.37 ornKmOPA.net
コードを1人で書いてます。他人が見ることは100%ありません。
(a) function hoge(){ }
(b) var hoge = function(){ };
の区別や管理はどうしてますか?
・返り値のないものはa、あるものはb
・宣言のみは冒頭、実行の伴うものは後述
というルールで書いていましたが、
1万行近くなって見通しよくするために大まかな機能ごとにまとめるようになり
bが順序的に後述になる箇所が出てきました。
”機能ごと”は今後順序変更する可能性があります。
関数リテラルのメリットがいまいちわかりません。どんなメリットがあるのでしょうか?
また返り値有無関係なく全てaにして不便はありますか?

352:Name_Not_Found
23/03/24 18:33:56.71 .net
>>351
不便はありません
動的に変数の中身の関数を入れ替えたい場合だけ(b)で

353:351
23/03/24 22:38:34.30 .net
>>352
動的に全く違う関数に入れ替えられるのですね、なるほどです。
この件では各関数や引数の目的が明確固定ばかりなのでその場合はなさそうです。
極一部名前付き引数を使用していますが、関数内処理はほぼ一定で、その程度です。

ありがとう。

354:Name_Not_Found
23/03/25 00:37:00.35 .net
このJavascriptでdivをタブで切り替え表示のサンプルで
Works、Contactタブにimg srcで画像を埋め込んでた場合
Works、Contactタブを選んだ時にだけ画像や内容を読み込む動作ってどうやるの
URLリンク(posipan.com)

355:Name_Not_Found
23/03/25 19:04:37.36 .net
Lazyloadとか使うといいかと

356:Name_Not_Found
23/03/27 10:49:47.68 .net
>>351
細かい話をするとb自体は関数式であって関数リテラルというのはbの右辺を指す用語
aとbの違いについてはこのへんを参照のこと
URLリンク(developer.mozilla.org)
あと個人的な感覚としては返り値の有無で区別をするのはナンセンスだと思う

357:Name_Not_Found
23/03/27 13:58:05.40 .net
そんな自分のウンチク言ってないで質問に答えてやればいいのに

358:Name_Not_Found
23/03/27 20:31:02.45 .net
なんで上から目線で「質問に答えてやればいいのに」といえるのだろう?

359:Name_Not_Found
23/03/28 01:36:21.08 .net
なんか癪に障っただけだろう

360:Name_Not_Found
23/03/28 16:35:38.31 .net
>>358
何一つ答えてないからじゃね

361:Name_Not_Found
23/03/28 17:07:37.33 .net
>>360
それは上から目線である理由になってないね
>>358が聞きたいのはそっちだろう

362:Name_Not_Found
23/03/28 19:26:10.85 .net
上から目線を感じてしまうのはあなたが小さい人だからよ

363:Name_Not_Found
23/03/28 21:03:37.18 .net
>>356にケチつけるのと似たりよったりだね

364:Name_Not_Found
23/03/28 21:15:19.17 .net
356はケチつけられても仕方ない
回答もせず、どうでもいい知識自慢、「このへんを参照のこと」なんて上から目線、自己主張
362の通り気にしすぎ

365:Name_Not_Found
23/03/28 21:23:34.93 .net
争いは同じレベルでしか発生しない

366:Name_Not_Found
23/03/28 21:47:39.32 .net
>>364が気にし過ぎでフフッてなる
なるほど同レベルだね

367:Name_Not_Found
23/03/28 22:28:03.56 .net
以前はスコープの問題でfunction expression派のライブラリが数多くあった
strict modeができてからはfunction declaration派が増えたように思う

368:Name_Not_Found
23/03/28 22:43:12.53 .net
>>366
356本人?負け惜しみ?

369:Name_Not_Found
23/03/28 22:45:04.76 .net
半角カタカナw

370:Name_Not_Found
23/03/28 23:05:22.37 .net
>>368
気にしすぎですよ

371:Name_Not_Found
23/03/29 17:51:02.44 .net
MathJaxってVer3になって、レンダリングされた文字列を範囲選択出来なくなった?

372:Name_Not_Found
23/03/31 12:07:44.93 .net
こんにちは。
どなたか教えていただけませんか。
下記のようなコードを書いたのですが、
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>';

373:Name_Not_Found
23/03/31 13:50:56.44 .net
ループ以前にlabelのfor属性は関連するフォーム要素のIDを指定するものなので生成しようとしてるhtml自体に問題があるよ

374:Name_Not_Found
23/03/31 14:25:37.98 .net
では再度サンプルコードを書いておきます。
// 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 '">';
こちらでどうぞよろしくお願いします。

375:Name_Not_Found
23/03/31 17:01:16.18 .net
>>372
せめてループに挑戦してるけどうまく動かないから助けてってとこまではたどり着いてほしい気がするなぁ
初心者向けのループのレクチャーなんていくらでも見つかるわけだし

376:Name_Not_Found
23/03/31 22:42:19.54 .net
>>375
どこかから拾ったサンプルコードの修正依頼で自分は全く知識がないのだろう

377:Name_Not_Found
23/04/01 12:28:09.62 .net
これで音信不通になるようではな
諦めたか他所へマルチしに行ったか

378:Name_Not_Found
23/04/01 14:29:48.39 .net
これは、取得した値をそのまま設定しているだけだから、何も変わらない

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

379:Name_Not_Found
23/04/01 15:06:47.33 .net
jQuery信者が喜ぶネタなんだな

380:Name_Not_Found
23/04/03 20:28:44.17 .net
【環境】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で置換した場合に何か落とし穴はありますか。

381:Name_Not_Found
23/04/03 21:47:26.64 .net
>>380
エラーが消えたからヨシ!は好ましくない
まずはts(2339)で検索してみよう

382:>>380
23/04/03 22:22:25.06 .net
>>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)も消えるし実行もできるので、落とし穴がなければこれで行きたいな、と)

383:Name_Not_Found
23/04/03 22:36:04.36 .net
>>382
そもそもTypeScriptを書こうとしてるわけじゃないのになんでtsエラーが出てるの?ってこと
vscode右下の言語モードがTypeScriptになってるんじゃないの?

384:Name_Not_Found
23/04/03 23:01:10.11 .net
>>383
なってないです。拡張機能も無効です。
i.imgur.com/TE6gwcY.jpg

385:Name_Not_Found
23/04/03 23:26:56.16 .net
>>384
うちではTSでは出るけどJSでは出ない
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
おそらく何かvscode側の問題だろう
で、エディタの問題ならなおさらfruit.valueで解決とするのは悪手

386:Name_Not_Found
23/04/03 23:39:06.45 .net
>>384
わかった、vscodeの設定に↓があるんじゃない?
"js/ts.implicitProjectConfig.checkJs": true
これ追加したらうちでもJSでエラー出た

387:>>380
23/04/03 23:48:50.00 .net
>>385 >>380
原因が判明しました。"js/ts.implicitProjectConfig.checkJs"がtrueでした。
型のチェックはしたいので、event.target.valueの上に@ts-ignoreを書いて解決します。
ありがとうございました。

388:>>380
23/04/03 23:51:00.10 .net
>>386
まさにそうでした。ありがとうございました。

389:Name_Not_Found
23/04/04 00:27:18.41 .net
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 )
});
} );

390:Name_Not_Found
23/04/04 00:53:07.21 .net
>>387
@ts-ignoreもなんか負けたみたいでいやだけども調べてみてもいい解決策はなさそう
致し方なしかな

>>389
正常に動くかどうかの話はしてないよ
よく読もう

391:Name_Not_Found
23/04/04 10:04:45.82 .net
fruitがHTMLSelectElementなのは確定してるから
event.currentTargetがHTMLSelectElementであることは推定できそうだな
event.target じゃなくて event.currentTarget にしたらどうなるかね

392:Name_Not_Found
23/04/04 10:48:34.90 .net
>>387
型チェック入れるとか
if (null === event.target || !(event.target instanceof HTMLSelectElement)) { return; }
キャストするとか
console.log(/** @type {HTMLSelectElement} */ (event.target).value);

393:Name_Not_Found
23/04/04 11:43:11.41 .net
>>392
そのへん少し試したけどうまくいかなくて諦めてた
致し方なしとか言う前にもう少し手を尽くすべきだった
反省

394:>>380
23/04/04 19:16:22.79 .net
>>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を使用するのが(通常|普通|無難)である。ということで合っていますか。

395:Name_Not_Found
23/04/04 22:54:34.70 .net
1つのイベントハンドラが複数の要素に対して設定されることは一般的で、その場合はevent.targetを使うことになる
今回のケースはそうでないにしても、可搬性や拡張性を考えれば常にevent.targetを使用しておくという判断は妥当だろう
あと処理結果は同じでも、イベントの起こった要素に対して処理をする、という意図をコードに残す意味もある

いずれにしろ現時点のそのコードだけを考えるならお好きなように

396:>>380
23/04/05 00:34:18.58 .net
>>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));
}

397:389
23/04/05 10:13:44.20 .net
>>389
に書いた
複数のコントローラーに、イベント登録する場合、
外側・親に、イベントを付けて、親側で子のイベントをキャッチする

398:Name_Not_Found
23/04/05 11:14:44.19 .net
このjQuery信者は文脈や論点ってものを全く理解しないのな
jQueryでは~jQueryなら~ってただただ念仏を唱えて布教に励む様子がまさに信者

399:Name_Not_Found
23/04/05 13:56:33.20 .net
Slickで出来てSwiperでできないようなアニメーション処理って何かある?

400:Name_Not_Found
23/04/06 13:40:22.56 .net
Mathjaxって配列環境でcolspan, rowspanって使えないのか?
\multicolumnというべきか

401:Name_Not_Found
23/04/13 11:04:39.61 08KgWRFK.net
JavaScript でローカルファイルを読み書きするにはどうすればいいでしょうか?
fetchという関数が使えるかと思ったんですが、blocked by CORS policy というエラーになってしまいます。

402:Name_Not_Found
23/04/13 14:00:39.10 .net
CORS(Cross-Origin Resource Sharing)制限は、
ローカルPC 上に、何かのサーバーを立てて、そこから配信すれば良い

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

一方、Live Server では、サーバーを立てているから、CORSにならない
URLリンク(127.0.0.1:5500)

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

これも、サーバー経由だから、CORSにならない
URLリンク(localhost:8080)

403:Jun
23/04/26 01:05:22.69 2ly3VJ6h.net BE:846651633-2BP(0)
sssp://img.5ch.net/ico/nida.gif
JavaScriptで電卓を作るよ。

404:Name_Not_Found
23/04/27 09:25:37.76 .net
ChatGPTを使って

405:Jun
23/04/27 23:52:36.98 qkYl27sL.net BE:846651633-2BP(0)
sssp://img.5ch.net/ico/nida.gif
JavaScript + HTML + CSS で電卓やホームページを作るのが今の目標です。

406:Name_Not_Found
23/05/09 15:14:09.97 .net
マイナーな質問

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

\color{red}を使っても、その箇所だけしか変更できない。
\xymatrix環境内全部の文字色を変えたい

407:Name_Not_Found
23/05/10 19:05:11.90 .net
>>406自己解決

408:Name_Not_Found
23/06/16 12:40:56.37 .net
こんにちは。
誰か教えてください。
<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に追加するにはどうすればいいのでしょうか?

409:Name_Not_Found
23/06/16 14:16:25.94 .net
>>408
document.querySelectorAll('.abc').forEach(element => element.closest("div").classList.add('def'));

410:Name_Not_Found
23/06/16 14:24:00.49 .net
>>409
レスありがとうございます。
closestなんてものがあるのですね。知りませんでした。
おかげで思うように行きました。
ありがとうございます。

411:Name_Not_Found
23/06/16 16:50:32.34 .net
>>408
これでもいけると思う
document.querySelectorAll('div:has(> .abc)').forEach(x=>x.classList.add('def'));

412:Name_Not_Found
23/06/16 16:57:38.56 .net
これでもいいのかな?間になにか挟まってたらダメだけど
('div >:is(.abc)')

413:Name_Not_Found
23/06/16 17:02:39.12 .net
>>411,412
こちらもありがとうございます。
大変助かります。

414:Name_Not_Found
23/07/14 05:34:41.98 zlYPgrgm.net
URLリンク(jsfiddle.net)
こんな表示状態で、textarea に入力して改行していき、表示可能行数を超えると、スクロール状態になります。
入力された行数に応じて textarea が縦に伸びて、textareaのコンテナにあたる li もそれに応じて縦に伸びるようにするにはどうすればいいのでしょうか?

415:Name_Not_Found
23/07/14 17:33:09.83 .net
自前でやろうとせずにライブラリ探してきたら?

416:Name_Not_Found
23/07/14 17:53:03.06 .net
textarea 高さ 自動
でググるとそれっぽいのあったよ

417:Name_Not_Found
23/07/17 03:34:14.72 .net
SELECTタグで、人物を選択出来るようにしたいのですが、SELECTが非展開の時はIDだけ表示して、
展開した時だけ、IDと人物名が表示されるようにする方法を教えてください。
人物配列

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

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

URLリンク(i.imgur.com)


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch