+ JavaScript の質問用スレッド vol.65 + >>951 画面全体でイベント拾わないといけなくなる?
ウィンドウの画面外までマウスを持って行って、mouseupするとイベント拾えないんじゃ
とか気になることが山積するような。
955 :
Name_Not_Found :2008/07/22(火) 10:00:20 ID:RMUJweds
あの、質問させてください。 結論だけでも大丈夫です。 タブブラウザやUserAgentSwitcherのようにUAを任意に変更できる 仕様をHTMLとJavaScriptのみを用いて作ることは可能ですか?
できません
957 :
Name_Not_Found :2008/07/22(火) 10:07:36 ID:RMUJweds
958 :
Name_Not_Found :2008/07/22(火) 12:21:15 ID:spDCqlEz
新スレは975超えたら。テンプレ論議は全然できなかったね、 道場訓復活は今道場訓として入っているものをどうするかが 決まらないと難しいかも(道場訓が場所ふさぎだという意見が複数あり 今のようにしたんで)。
>>958 keydownのような低レベルイベントにdispatchEventは基本的には向かない。
理由はデフォルト動作を持たないため。
でも、
>>245 を見る限り、デフォルト動作を期待するようなコードではなさそうだね。
質問です。 function F(arg){ var obj=document.getElementById("test") //--- } のように関数内でオブジェクト宣言をした場合、この関数を呼び出 すたびに新しくオブジェクトが作られるのでしょうか。もしそうだ とすると頻繁に関数を使ったばあには、メモリだらけになりませんか。 もっと効率的な書き方はあるのでしょうか。普段何気なく書いていた のですが恐ろしくなりました。
>>961 それは既にあるDOMオブジェクトの参照をobjという変数に代入してるから
新たにオブジェクトが作られてるわけではないよね。
それともvar objのことを言ってる?
メモリだらけになったらうれしいとおもいます!
質問です. htmlソース <body onLoad="set('disp(配列1,配列2)')"> jsファイル function disp(配列1,配列2){ ... } htmlからjavascriptの関数に配列を渡したいんですけど 「配列1」「配列2」の部分ってどのように書けばいいですか?
hairetsu1 hairetsu2
>>965 そのように書いても
javascriptで配列の中身を見たら「undefined」となってしまいます…
undefinedになるソースうp
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と表示されます.
javaでとか関係ねーだろ 最終的に吐き出したhtml書けこのスットコドッコイ
>>968 setっていう関数は何をやってくれるの?
javaからhtmlに変換されるときに何かに変換されるってこと?
>>964 の状態だとjavascriptの中にset関数がいないとおかしいのだけど。
最終的に吐き出した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>
です.
Java != JavaScript
>>970 setはsetTimeoutの0秒バージョンだと思って使ってます.
>>972 javaで配列を連結して文字列にする
↓わたす
javascriptで文字列を分解して配列にする
みたいな方法をとるしかないですかね・・・
<body onLoad="disp([要素1, 要素2, 要素3], [要素a, 要素b, 要素c])"> みたいなコードをJavaで生成すればいいんでねーの
<body onLoad="set(disp('[Ljava.lang.String;@1fd5e2','[Ljava.lang.String;@12f9ee'))"> これで上手くいく方がおかしいだろ…
無名関数を使うと、 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; }); ↑みたいなことは出来ないんでしょうか? 要は、一度しか使わない関数を定義せず(?)に出力できるかってことなんですが。
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; }());
くだらない質問ですいませんが、 MACのサファリで作動のチェックはする物ですか? クレームきちゃって・・・・Orz
Safari1ならつっぱねろ Safari2なら努力はしてみろ Safari3で動かないのはお前が悪い可能性大
便乗で聞いていい? Mac 版 Safari と Win 版 Safari って結構違うもの?
MACのIEじゃないんだから大して変わらないはず
>>979 クレームを出した奴がマカーなら
少数民族は被害妄想で差別されていると感じるとギャーギャー騒ぎ出すので
気にするな
お前さんの雇用主や上司、取引相手からクレームがついたのなら
粛々と修正しろ
984 :
977 :2008/07/23(水) 22:32:48 ID:???
>>978 一瞬何が違うのかわからなかったですが、わかりました!
ありがとうございます!
<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() でイベントを設定したいのですが、設定の仕方に困ってます
アホ外人君を召喚するから待ってて
お話中すいません。 o.toSource()がIEだとだめみたいなんですが 何か打開策ありますか?
990 :
979 :2008/07/24(木) 09:55:18 ID:???
>>980 >>983 ありがとうございます。
相手はマカなので、それなりの対応する事にします。
助かりました。
埋め
梅
埋め
ume
ume
埋め
999
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。