元スレ+ JavaScript の質問用スレッド vol.114 +
JavaScript覧 / PC版 /みんなの評価 :
651 = :
>>635
失礼しました。仰るとおりで<div id = "result"></div>でbody内に記述してあります。
JSでこの中に可変のtableを作成していました。
HTMLファイルが読み込まれてからの実行順を理解しないといけないと思いました。
勉強します。ありがとうございます。
>>637
アドバイスありがとうございます。
window.onload(){} 内に各関数を定義し、TD要素にイベントハンドラを設定するのではなく、
addEventListenerを試しました。
どの位置が押されたのかの情報が必要なため、以下のように呼び出し先の関数(clck)に引数を設定しました。
function addListener(max){
for(var i=0;i<max;i++){
for(var j=0;j<max;j++){
var a = document.getElementById(i + "" + j);
a.addEventListener( "click", function(){clck(i,j)});
}
}
}
実行してみると、どこをクリックしてもclck(5,5)が実行されてしまいます。
無名関数を使って引数を指定したために、すべての設定が最後のもので統一されてしまったのでしょうか。
652 = :
>>640-641,643
仰るとおり、マス目を可変にしているため、コードからtableを生成しています。
>・タグの要素としてのonclick=は使わない。DOMに直接イベントを割り当てる。
onclickの代わりにaddEventListenerを試してみましたが、上記の通りです。。
>・tdに対してイベントを割り当てるのではなく、table(もしくはその上の要素)にイベントハンドラを割り当てる。だからidも不要。
クリックによってイベントが実行できるように思えますが、
IDがないとどこがクリックされたかが特定できないと思うのですが。
その他、ありがとうございます。
試してみます。
653 = :
> IDがないとどこがクリックされたかが特定できないと思うのですが。
できる。
654 = :
やり方書けよカス
655 = :
それぐらい自分で調べろやw
俺が教えないのは、自分のためだ。
楽しいからなw
656 = :
>>653,655
返信ありがとうございます。
できました!
方法としては、おっしゃったとおり、tableタグにonclick"clck(e)"
でイベントハンドラを登録し、
clck関数で受け取ったevent(ここでは変数e)から targetプロパティでクリック元を特定出来ました。
あとは特定できた要素のinnerHTMLを変更するのみで、コードを短縮したままで実装できました。
上要素に割り当てたイベントハンドラから、子要素が押された場合でも特定できるとは想像していなかったので
大変勉強なりました。これは他部分でも生かせそうです。
おかげさまで1つ賢くなれました。ありがとうございます!
今度は、3目並べ(もしくは5目並べ)のCPU部分を作成していく予定です。
勉強しつつ、頑張ります。
本当にありがとうございました!
657 = :
>>656
3目並べと5目並べはだいぶ別のゲームな気がするが言いたい事は分かる
659 = :
>>656
イベントバブリング(伝播)
>>631
JSでは、DOM木が構築されてから、アクセスしないといけないので、
ページの読み込み完了のイベントを使うか、
bodyタグの最後に書けばよい
661 = :
onscrollハンドラの中でブレークすると、画面はまだスクロールしていません
このことからonscorollはスクロールする前に発生し、
preventDefaultすればスクロールが中止されると考えましたが、
preventDefaultしてもスクロールは止まりません。
何故でしょうか?
662 = :
>>624-626の件ですが、画面から消えた要素をdisplay:noneするようにしたら、
想像以上にキビキビ動くようになりました
スクロールごとに当たり判定して消したり出したりするコストは結構あるんじゃないと思っていましたが
それよりもノードの複雑性から来るコストの方が多かったようです
ありがとうございました
665 = :
jqueryで要素のクライアント座標を得るにはどうしたらいいのでしょうか?
668 = :
ありがとうございました
669 :
日本政府からの支援の申し出に対する韓国でのメディア論調
「政治的下心が垣間見え、我が政府当局が苦慮している」
「国際平和貢献の事例として、集団的自衛権容認に向けた政治カードに利用した」
今日も平壌運転で、じつに結構なことです。
ちなみに、今朝の不治テレビ「とくダネ!」では現地被害者家族のインタビューで
どうして日本からの支援申し出を断ったのか、という部分に対して
「どうして民間からの支援申し出を断ったのか」という字幕に変えてました。
さすがは不治テレビ。
670 = :
どういうこっちゃ
671 = :
利用者の平均IQが高い技術スレにネトウヨコピペなんて効果あるわけないだろ
恥を知れ
672 = :
在日は早く祖国に帰れ
673 = :
ネトウヨ哀れw
674 = :
日本が嫌なら出てけよ
675 = :
お前が出て行けよ
カスが
676 = :
JavaScriptと無関係な話題はスルーかつ控えて頂きたく
678 = :
可能
jqueryにそういうプラグインがあるのでそれを使うのが早い
679 = :
>>677
http://developer.mozilla.org/ja/docs/Web/API/document.styleSheets
680 = :
>>678-679
document単位にあったとは・・・。ありがとうございます
初めてなんで直接書き込んでみます
681 = :
CSSに便乗質問です
insertRuleで"element.class{prop:value}"のようにルールを1つずつ追加しているのですが
これをまとめて
"element.class{prop:value} element#id{prop:value}"
のように複数のルールを一度に追加することってできますか?
682 = :
>>681
はい
685 = :
小技について質問
if(a=="a" || b=="a")を短くする方法ってありますか?
if(a || b=="a") ってやったらダメでした
686 = :
>>685
ない
687 = :
>>686
諦めやす!
690 = :
そんなことして誰得?
691 = :
プログラムが短くなるだろうが
692 = :
短くなってないwww
695 = :
はわわ本当だね
でも見たら想定と違ってて、想定してたのと同じ関数はcontainsだった
var a = 3;
var b = 4;
var c = 3;
console.log(_.contains([a,b],c));
→true
696 = :
chromeはIME制御がうまくいってないようで
contenteditableで日本語入力してIMEオンのままbootstrapのボタンを押すと、
フォーカスは外れているのにキー入力だけがcontenteditable領域に行くという変な状態になります
firefox, ieはそんなことはありません
これをどう回避できるでしょうか?
あるいは関係者の方が見ていたらこのバグの修正をお願いします
697 = :
http://jsbin.com/zoxecica/1/edit
再現コード書きました
divで日本語入力→IMEオフにせずにボタンをクリック→その後キー入力
とすると、chromeでのみ、文字がdivに出現します
textareaではそうはならないので、
contenteditableのフォーカスアウト時の処理が甘いのだと思われます
698 = :
バグはいつか解消するものなので
コードをバグに最適化するといつか非最適になってしまう
かといってバグがいつ解消するかは分からない
という問題がありますね
699 = :
バグを見つけてうれしくてうれしくて仕方ないって感じがよく伝わってくるよ
700 = :
>>697
入力フィールドが複数ある場合でも?
キー入力と同時にそのフィールドに自動的にフォーカスされるような
「配慮」が実装されている可能性も考えられる
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [97%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.110 + (1001) - [97%] - 2013/10/13 14:01
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.117 + (1009) - [97%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.124 + (1001) - [97%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
トップメニューへ / →のくす牧場書庫について