+ JavaScript の質問用スレッド vol.65 +

このエントリーをはてなブックマークに追加
952Name_Not_Found:2008/07/21(月) 22:43:24 ID:???
>>951
画面全体でイベント拾わないといけなくなる?
ウィンドウの画面外までマウスを持って行って、mouseupするとイベント拾えないんじゃ
とか気になることが山積するような。
953Name_Not_Found:2008/07/22(火) 03:57:52 ID:???
>>950
何に使うの?
954Name_Not_Found:2008/07/22(火) 09:57:54 ID:???
955Name_Not_Found:2008/07/22(火) 10:00:20 ID:RMUJweds
あの、質問させてください。
結論だけでも大丈夫です。
タブブラウザやUserAgentSwitcherのようにUAを任意に変更できる
仕様をHTMLとJavaScriptのみを用いて作ることは可能ですか?
956Name_Not_Found:2008/07/22(火) 10:03:50 ID:???
できません
957Name_Not_Found:2008/07/22(火) 10:07:36 ID:RMUJweds
>>956
おおーありがとうございます
958Name_Not_Found:2008/07/22(火) 12:21:15 ID:spDCqlEz
>>245
var evt = document.createEvent("KeyboardEvent");
evt.initKeyEvent("keydown", true, true, null, false, false, false, false, "J".charCodeAt(0), 0);
document.dispatchEvent(evt);

ttp://developer.mozilla.org/en/docs/DOM:event.initKeyEvent
959Name_Not_Found:2008/07/22(火) 13:29:35 ID:???
新スレは975超えたら。テンプレ論議は全然できなかったね、
道場訓復活は今道場訓として入っているものをどうするかが
決まらないと難しいかも(道場訓が場所ふさぎだという意見が複数あり
今のようにしたんで)。
960Name_Not_Found:2008/07/22(火) 23:01:46 ID:???
>>958
keydownのような低レベルイベントにdispatchEventは基本的には向かない。
理由はデフォルト動作を持たないため。
でも、>>245を見る限り、デフォルト動作を期待するようなコードではなさそうだね。
961Name_Not_Found:2008/07/23(水) 14:28:32 ID:???
質問です。
function F(arg){
var obj=document.getElementById("test")
//---
}
のように関数内でオブジェクト宣言をした場合、この関数を呼び出
すたびに新しくオブジェクトが作られるのでしょうか。もしそうだ
とすると頻繁に関数を使ったばあには、メモリだらけになりませんか。
もっと効率的な書き方はあるのでしょうか。普段何気なく書いていた
のですが恐ろしくなりました。
962Name_Not_Found:2008/07/23(水) 15:26:15 ID:???
>>961
それは既にあるDOMオブジェクトの参照をobjという変数に代入してるから
新たにオブジェクトが作られてるわけではないよね。
それともvar objのことを言ってる?
963Name_Not_Found:2008/07/23(水) 15:29:42 ID:???
メモリだらけになったらうれしいとおもいます!
964Name_Not_Found:2008/07/23(水) 16:12:46 ID:???
質問です.

htmlソース
<body onLoad="set('disp(配列1,配列2)')">

jsファイル
function disp(配列1,配列2){
...
}

htmlからjavascriptの関数に配列を渡したいんですけど
「配列1」「配列2」の部分ってどのように書けばいいですか?
965Name_Not_Found:2008/07/23(水) 16:31:14 ID:???
hairetsu1 hairetsu2
966Name_Not_Found:2008/07/23(水) 16:36:28 ID:???
>>965
そのように書いても
javascriptで配列の中身を見たら「undefined」となってしまいます…
967Name_Not_Found:2008/07/23(水) 16:38:09 ID:???
undefinedになるソースうp
968Name_Not_Found:2008/07/23(水) 16:54:00 ID:???
javaでhtmlをはきだしています.

まず
sb.append("<SCRIPT Language=\"JavaScript\" SRC=\"popup.js\"> </SCRIPT>");
でjsファイルを読んで

次にデータベースの情報をscheduledate[]とschedule[]に順に入れていって
sb.append("<body onLoad=\"set(disp(\'" + scheduledate + "\',\'"+ schedule +"\'))\">");
でjavascriptの関数に渡しています.

jsファイル(popup.js)内は
function disp(scheduledate,schedule){
newWin = window.open("", "child", "width=450,height=400,scrollbars=yes");
newWin.document.open();
newWin.document.write("<HTML><HEAD><TITLE>title</TITLE></HEAD>");
newWin.document.write("<BODY>");
newWin.document.write(scheduledate[0]);
newWin.document.write(schedule[0]);
newWin.document.write("</BODY></HTML>");
newWin.document.close();
}
こんなかんじで
実行するとscheduledate[0]とschedule[0]がundefinedと表示されます.

969Name_Not_Found:2008/07/23(水) 17:06:12 ID:???
javaでとか関係ねーだろ
最終的に吐き出したhtml書けこのスットコドッコイ
970Name_Not_Found:2008/07/23(水) 17:13:52 ID:???
>>968
setっていう関数は何をやってくれるの?
javaからhtmlに変換されるときに何かに変換されるってこと?
>>964の状態だとjavascriptの中にset関数がいないとおかしいのだけど。
971Name_Not_Found:2008/07/23(水) 17:18:45 ID:???
最終的に吐き出したhtmlは
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html lang="ja">
<head>
<meta http-equiv="Content-Type" Content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>title</title>
</head>
<SCRIPT Language="JavaScript" SRC="popup.js"> </SCRIPT>
<body onLoad="set(disp('[Ljava.lang.String;@1fd5e2','[Ljava.lang.String;@12f9ee'))">
</body>
</html>



<HTML><HEAD><TITLE>title</TITLE></HEAD><BODY>undefinedundefined</BODY></HTML>

です.
972Name_Not_Found:2008/07/23(水) 17:23:15 ID:???
Java != JavaScript
973Name_Not_Found:2008/07/23(水) 17:26:03 ID:???
>>970
setはsetTimeoutの0秒バージョンだと思って使ってます.
974Name_Not_Found:2008/07/23(水) 17:35:31 ID:???
>>972
javaで配列を連結して文字列にする
↓わたす
javascriptで文字列を分解して配列にする

みたいな方法をとるしかないですかね・・・
975Name_Not_Found:2008/07/23(水) 17:42:17 ID:???
<body onLoad="disp([要素1, 要素2, 要素3], [要素a, 要素b, 要素c])">
みたいなコードをJavaで生成すればいいんでねーの
976Name_Not_Found:2008/07/23(水) 17:57:53 ID:???
<body onLoad="set(disp('[Ljava.lang.String;@1fd5e2','[Ljava.lang.String;@12f9ee'))">
これで上手くいく方がおかしいだろ…
977Name_Not_Found:2008/07/23(水) 18:26:50 ID:???
無名関数を使うと、
var a = b.replace(/パターン/, function(p0, p1){ return 処理結果; });
↑こういうことができると思うんですが、

dcument.write(function(){
var list = new Array('a', 'b', 'c', 'd', 'e');
var text = '';
while (list.length > 0) {
var r = Math.floor(Math.random() * list.length);
text += list[r];
list.splice(r, 1);
}
return text;
});
↑みたいなことは出来ないんでしょうか?
要は、一度しか使わない関数を定義せず(?)に出力できるかってことなんですが。
978Name_Not_Found:2008/07/23(水) 19:06:02 ID:???
document.write(function(){
var list = new Array('a', 'b', 'c', 'd', 'e');
var text = '';
while (list.length > 0) {
var r = Math.floor(Math.random() * list.length);
text += list[r];
list.splice(r, 1);
}
return text;
}());
979Name_Not_Found:2008/07/23(水) 19:48:54 ID:???
くだらない質問ですいませんが、
MACのサファリで作動のチェックはする物ですか?

クレームきちゃって・・・・Orz
980Name_Not_Found:2008/07/23(水) 20:00:07 ID:???
Safari1ならつっぱねろ
Safari2なら努力はしてみろ
Safari3で動かないのはお前が悪い可能性大
981Name_Not_Found:2008/07/23(水) 20:31:38 ID:???
便乗で聞いていい?
Mac 版 Safari と Win 版 Safari って結構違うもの?
982Name_Not_Found:2008/07/23(水) 21:05:32 ID:???
MACのIEじゃないんだから大して変わらないはず
983Name_Not_Found:2008/07/23(水) 21:25:24 ID:???
>>979
クレームを出した奴がマカーなら
少数民族は被害妄想で差別されていると感じるとギャーギャー騒ぎ出すので
気にするな

お前さんの雇用主や上司、取引相手からクレームがついたのなら
粛々と修正しろ
984977:2008/07/23(水) 22:32:48 ID:???
>>978
一瞬何が違うのかわからなかったですが、わかりました!
ありがとうございます!
985Name_Not_Found:2008/07/24(木) 08:11:48 ID:???
<div id="field">
  <div>テキスト1</div>
  <div>テキスト2</div>
  <div>テキスト3</div>
  <div>テキスト4</div>
  <div>テキスト5</div>
</div>

field内のdivタグ内のテキストがクリックされた場合に、
そのテキストのCSSを変更したいのですが、divタグ内にonclickをイベントを書く以外に方法はありますか?
js内で
onmouse = function()
でイベントを設定したいのですが、設定の仕方に困ってます
986Name_Not_Found:2008/07/24(木) 08:27:06 ID:???
>>985
this
987Name_Not_Found:2008/07/24(木) 08:27:14 ID:???
988Name_Not_Found:2008/07/24(木) 09:21:40 ID:???
アホ外人君を召喚するから待ってて
989Name_Not_Found:2008/07/24(木) 09:50:48 ID:???
お話中すいません。
o.toSource()がIEだとだめみたいなんですが
何か打開策ありますか?
990979:2008/07/24(木) 09:55:18 ID:???
>>980 >>983

ありがとうございます。
相手はマカなので、それなりの対応する事にします。

助かりました。
991Name_Not_Found:2008/07/24(木) 12:18:31 ID:???
992Name_Not_Found:2008/07/24(木) 12:26:51 ID:???
埋め
993Name_Not_Found:2008/07/24(木) 12:37:50 ID:???
994Name_Not_Found:2008/07/24(木) 12:44:50 ID:???
埋め
995Name_Not_Found:2008/07/24(木) 12:55:58 ID:???
996Name_Not_Found:2008/07/24(木) 13:08:08 ID:???
ume
997Name_Not_Found:2008/07/24(木) 13:09:07 ID:???
ume
998Name_Not_Found:2008/07/24(木) 13:31:32 ID:???
埋め
999Name_Not_Found:2008/07/24(木) 13:34:39 ID:???
999
1000Name_Not_Found:2008/07/24(木) 13:35:12 ID:???
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。