1read 100read
2011年12月2期Web制作8: + JavaScript の質問用スレッド vol.93 + (463) TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
10: 【SEO】Google対策 パート9【Google】 (913)
11: いまどきのSEO対策 (275)
12: WordPress(ワードプレス)でWeb制作 質疑応答スレ 01 (108)
13: ホームページビルダースレッドその40♪(・ω・)ノ (393)

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


1 :11/12/10 〜 最終レス :11/12/24
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。
■質問を書く上で
(1) 質問にならない投稿はご遠慮ください。(煽り、コード制作依頼など)
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 長い間連続して質問する場合にレス番を名前にしてあれば、質問の流れが回答者に伝わりやすくなります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。質問テンプレートを活用してみてください。
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/

2 :
■前スレ
+ JavaScript の質問用スレッド vol.93 + (本来はvol.92)
http://hibari.2ch.net/test/read.cgi/hp/1321414111/
■過去スレ全集
http://www2.atpages.jp/mirror/2ch/javascript/
http://usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)
http://wing2.jp/~mirrorhenkan/2ch/javascript/ (閲覧のみ)
■関連スレ
ECMAScript デス 3
http://hibari.2ch.net/test/read.cgi/tech/1190160481/
Ajaxでも語りませんか Rigel4
http://hibari.2ch.net/test/read.cgi/php/1166751613/
1行javascriptプログラミング
http://hibari.2ch.net/test/read.cgi/hp/1066750037/
WSH(・∀・)スレッド! Part 4
http://hibari.2ch.net/test/read.cgi/tech/1243095768/
Webサイト制作初心者用質問スレ part227
http://hibari.2ch.net/test/read.cgi/hp/1322905086/
CSS初心者スレッド=10th=
http://hibari.2ch.net/test/read.cgi/hp/1306489752/

3 :
■主要FAQ (全部は http://fiddle.jshell.net/vSqKr/27/show/ )
Q1. 別窓・フレーム内容やローカルファイルを読み書きしたいのですが…
A1. 別サーバのページやファイルの内容はセキュリティ制約でアクセス不可です。
Q2. document.write()でページ内容を追加したいのですが…
A2. 一度表示完了後にwriteするとページ内容が消去されます。DOM等別手段を。
Q3. table内容のinnerHTMLやDOMでの変更がうまく行かないのですが…
A3. IEではtable/tbody/trのinnerHTML書き換え不可です。DOMを使いますが、
  DOMの場合tableの直下にはtbody要素が(作らなくても)あることに注意。
Q4. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A4. 「document.forms.myform.elements[変数名].value」でどぞ。
  JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
  グローバル変数はwindowのプロパティなので「x」と「window['x']」も。
Q5. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A5. 取得には document.defaultView.getComputedStyle() を使う必要あり。
  IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q6. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A6. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
Q7. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
  「"...this..."」とか「function(){...this...}」ではうまく行きません。
A7. 実行時にthisが別のものを指してしまってる。以下のようにthisを束縛保存。
  「function(x){return function(){...x...};}(this)」
Q8. input type="file"の値を設定(参照)できないのですが…
A8. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q9. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A9. コード実行時点でHTMLがそこまで読まれてない。window.onload 中でやるとか。

4 :
■各種仕様
Standard ECMA-262
http://www.ecma-international.org/publications/standards/ECMA-262.HTM
ECMAScript 3
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (和訳)
ECMAScript 5.1
http://es5.github.com/
W3C Document Object Model Technical Reports
http://www.w3.org/DOM/DOMTR
JavaScript 1.5 ガイド / リファレンス (Netscape/Mozilla)
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide (和訳)
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference (和訳)
JavaScript Garden (ja)
http://bonsaiden.github.com/JavaScript-Garden/ja/
JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
http://jsgt.org/ajax/ref/test/json/test1.htm
Mozilla Gecko DOM Reference, Netscape devedge
http://developer.mozilla.org/ja/docs/Gecko_DOM_Reference (和訳)
http://devedge-temp.mozilla.org/central/javascript/index_en.html
MSDN Library JScript / DHTML (現在日本語版は古杉)
http://msdn.microsoft.com/ja-jp/library/z688wt03%28VS.80%29.aspx
http://msdn.microsoft.com/ja-jp/library/cc409720.aspx

5 :
>>4
乙。次スレは http://jsgt.org/ajax/ref/test/json/test1.htm を削除してね。

6 :
<a href="javascript:document.photo.src = 'img/item/hoge1.jpg'; void(0);">
あるサイトのソースを見ていたら、このようなコードを発見したんですが
この書き方って一般的によく使われているんですか?オンクリックイベントを書くより楽そうですね

7 :
古い書き方なのでおすすめしない

8 :
disabled selected checkedなどの値が無いプロパティをセットする場合
option.selected = true;
option.setAttribute('selected','');
option.setAttribute('selected','selected'); //XHTML
などの方法がありますが、どの方法でいくのが無難でしょうか?

9 :
更に以下も追加
option.setAttribute('selected','true');
option.setAttribute('selected',true);
どの指定の仕方が正しく、どの指定の仕方が互換性が高いのか分かりません

10 :
option.setAttribute('selected', 'selected') でDOM操作すると狂うから
option.selected = true を使った方が良い
一者択一の属性値だから、それ以外の3つのやり方はおかしい
HTMLに書くときは、属性値が無いわけじゃなく、SGMLの省略タグ機構で属性名の方を省略してる

11 :
jQuery UI のdialogで、iframe方式で別ページを指定して表示した時、
そのdialogの別ページ内のイベントから、呼び出し元のページのDOM要素を操作したい場合は
どうしたらいいでしょうか?

12 :
jsでシンセ作ったぜ〜
http://www42.atwiki.jp/syugyou?cmd=upload&act=open&pageid=250&file=oto2.html

13 :
>>10
ありがとうございます ずっとひっかかっていたものがとけました

14 :
>>12
エンベロープつけろや

15 :
function append(arg){
if(typeof arg==="String"){
this.innerHTML=elms;
}else{
var df = document.createDocumentFragment();
for(var i=0, l=arguments.length; i<l; i++){
df.appendChild(arguments[i]);
}
this.appendChild(df);
}
}
上記のようなthisとしてバインドされたHTML要素に対して
要素の追加を行う関数をつくろうと思っています。
関数の引数がstringであれば、それをinnerHTMLでthisに流し込み、
document.createElement()などで作成されたHTML要素が引数にきたら
appendChildでthisに追加するようにしたいのですが、
後者の処理の前に 「引数がHTML要素かどうか」 を判定したいのですが、
どうしたらうまくそのような判定ができるでしょうか?

16 :
エレメントノードだけがほしいなら
arg.nodeType===1
でいいんじゃねすか

17 :
>>15
テキストノードとかコメントノードとか、要素ノード以外はどうするの

18 :
>>16
ありがとうございます
nodeタイプでいけそうな感じはしますね
クローンノードも欲しいので、そのnodetypeも判定条件にいれてやればうまくいくかな・・・
>>17
df.appendChild で追加できるものであれば・・・と思いましたが
テキストノードなんかもappendChildで追加できるんですかね?
とりあえずは要素ノード、クローンノード、documentFragmentノードあれば十分かなぁという感じです

19 :
>>11で思ったんだけど、jQuery UIって皆使ってるもん?
そんなメジャーになった?全く触れてないんだけど

20 :
>>12
あんたがスゲーのはもうわかったよ
だけどそこダウンロードしなきゃ実行できねえんだよ
なんとかしろよ

21 :
せめてHTMLとしてうpってくれ

22 :
$("a").onclick(function(){
//ここでのthisと$(this)ってそれぞれ何が入ってるんですか?
})
全く見当違いな質問だったらごめんなさい

23 :
HTMLAudioElementか

24 :
チョー解りやすく言うと
<a>全体じゃなくてそのクリックされた部分だけの<a>

25 :
>>18
DOMにはクローンノードというnodeTypeはない
www.w3.org/TR/DOM-Level-3-Core/core.html

26 :
http://www.dotup.org/uploda/www.dotup.org2371311.jpg
$('#a')の位置を取得する時左の場合は$('#a').position().topで20pxと出来るのですが
右のように要素をスクロールしたら-30pxとかになってしまいます
スクロールしてもその要素の上からの位置を取得するのに良い方法とかありますでしょうか?

27 :
>>26
$("#a").offset().top;

28 :
>>27
すみません・・・、$("#a").offset().top;だとbody上での位置になってしまうんです

29 :
<body>白い部分
   <div id="g">水色の部分
      <div id="a">赤い部分
      </div>
   </div>
</body>
こんな感じです

30 :
昔はHTMLうpったらそのまま開けてたけど今そーゆーロダないのな

31 :
>>30
そりゃ、いろんなものの温床になるからでしょ。

32 :
dropboxは?

33 :
jsfiddleとかjsbinとか>>1にあるが

34 :
>>28
スクロール量もとれるじゃろ

35 :
前スレ995でスレ立ての相談をした者です。
http://hibari.2ch.net/test/read.cgi/hp/1321414111/
995 Name_Not_Found sage 2011/12/11(日) 07:05:15.41 ID:???
すいません。JS関連でスレ立てをお願いしたいのですが、どこに頼むべきでしょうか?
運営とは違うようですし・・・
999 Name_Not_Found sage New! 2011/12/11(日) 12:13:20.35 ID:???
まずスレタイと内容を書いてみてください
----------
ということなので、下記の内容を希望します。
(仮)【JSで】 SVG描画ライブラリRaphael(ラファエル) 【ベクター描画】  ←仮タイトル
・・・本文は次レスにて

36 :
HTML5のSVG描画(ベクター描画)を可能にするJavaScriptグラフィックスライブラリ。
現在バージョンは2.0.1。 MITライセンスなので誰でも自由に利用可能。
※SVG(Scalable Vector Graphics)
本家HP http://raphaeljs.com/ (注: リファレンスも全文英語)
JSで動くSVG版Flashのような存在。 HTML5のCanvasに比べインタラクティブ動作に強い。
記述は基本的にタグが不要で、マウス操作やアニメーションも可能。
サポート中のブラウザは、Firefox 3.0+,Safari 3.0+,Chrome 5.0+,Opera 9.5+ 及び Internet Explorer 6.0+。
ただしIE6〜8はVML(Vector Markup Language)で描画。 iOSでも動く。
【始めるには】
http://libro.tuyano.com/index3?id=101001
http://www.skuare.net/test/raphael_1.html
http://112123.jugem.jp/?eid=2606
http://y2-space.com/blog/it-skil/programing/javascript/267/
【お役立ちリンク ※全て英語】
http://stackoverflow.com/
http://groups.google.com/group/raphaeljs
http://www.irunmywebsite.com/raphael/additionalhelp.php?v=2#pagetop
http://craic.com/tutorials/javascript/raphael_live/raphael_live.html
http://jsfiddle.net/ 左側でRaphael2.0を選択
=== 補足 ===
・ビジュアル系バンドに同名のRaphaelがあるので検索に注意。
 コッチのRaphaelを参照するには JavaScript とか JS とか SVG を検索欄に追加すればOK。
・ jQueryとの対比 http://stackoverflow.com/questions/588718/jquery-svg-vs-raphael

37 :
SVGスレでいいんでないの

38 :
>>37
SVGスレってあったんだ。でもRaphaelは従来のタグによる記述ではなくて
JSコードそのもので挙動をしています(JSの正規表現も普通に使えます)。
一応、【XML】SVGってどうなの2【DOM】を見たけどコーディングにJSは殆ど関係なさそうです。

39 :
SVGはXMLなんだしもともとJavascript使ってDOM操作もするもんでしょ
SVGスレ内にもJS+DOMの話があるじゃない
どうせ過疎る汎用性のないスレを乱造せずに既存のスレを活用しよう

40 :
質問させてもらいます
pのclass=typoe1の指定は
$("p.type1")ですが
id=typeDの中にあるclass=type1の指定なども出来るのでしょうか?

41 :
$("#typeD .type1")
というかほぼCSSの質問じゃないか

42 :
>>41
ごめんなさい、1日中
$("#typeD,.type1")や$($("#typeD").(".type1"))で試してた自分が馬鹿でした

43 :
スペース空けてなかったと予想

44 :
>>40
jQueryクックブック買えば。勉強になるよ。

45 :
>>44
Javascript入門書は買ってそれの1/3位jQuery載ってたので使ってる感じです
ライブラリについての本とかもあるんですか、何か不思議ですね

46 :
情報系の学部なんてjpegの圧縮について研究したり学んだりするんだぞ
数学なんて一人の天才が考えた数式について何十年も研究してるし

47 :
真面目にやってる奴なんてどれ程いるのか謎だけどな

48 :
なぜそういう流れに

49 :
>>46
突然どうしたw
でもエクセルでJPEGの実験したの思い出して懐かしくなった

50 :
テスト

51 :
JSONの質問
var person={"first-name":"Jerome"};
のようにプロパティ名の文字列はダブルクォテーションで囲む
決まりがありますが、Javascript The Good Partsによると
プロパティ名がJSの名前に則っているときは省略可能とあります。
first_nameなら"が省略可能で
var person={first_name:"Jerome"};となるますが、以前ここにプロパティ
名の"をつけず書きこむと、JSONではないと言われましたが、これも
JSONなんですね。Ajaxなどのときは、プロパティ名の"は省略可能な
時は省略するのでしょうか?それとも会社によって"が省略するかどうか
細かな規約があるのでしょうか?

52 :
JSONとJavaScriptのオブジェクトは別
JSONにもちゃんと仕様がある
GoodPartsで書かれてるのは
多分JavaScriptのオブジェクトを記述する時の事で
JSONについてではない
JSONの仕様
http://www.ietf.org/rfc/rfc4627

53 :
jQuery Mobileで質問です。
<select タグで選択した内容によって,ダイアログを出そうと思った下記のようなスクリプト(抜粋)を書いたのですが,選択してもダイアログがでてくれません。
body中に書いたjQueryオブジェクトをクリックしたのと同様のことをスクリプトでやろうともくろんだのですが...
<script type="text/javascript">
function change(index){
switch(index - 0){
case 1:
$("<a href='dialog1.html' data-role='button' data-inline='true' data-rel='dialog' data-transition='pop'></a>").click();
break;
case 2:
$("<a href='dialog2.html' data-role='button' data-inline='true' data-rel='dialog' data-transition='pop'></a>").click();
break;
}
}
</script>
<select name="select-choice-5" id="select-choice-5" data-native-menu="false" onChange="change(this.value)">
<option>Choose…</option>
<option value="1">Selection 1</option>
<option value="2">Selection 2</option>
<option value="3">Selection 3</option>
</select>
参考にしたのは,ttp://dev.screw-axis.com/doc/jquery_mobile/components/pages_dialogs/dialogs/です。

54 :
<script type="text/javascript">
function push(x){
var com;
com = j+":"+x;
};
function namae(){
while (name == "" || name == "null"){
name = window.prompt("名前を入力してください", "");
};
</script>
<body>
名前:<script type="text/javascript">
namae();
</script>
コメント:<input type="text" id="comments" value="">
<button onclick="push(document.getElementById('comments').value);">書き込み</button>
上記のcomをサーバー側に送る場合、サーバー側の関数を書けばいいの?
それとも別に方法があるの?
出来れば良い方法が知りたいです.
サーバー側はnode.jsを利用しています

55 :
XMLHttpRequestってこと?

56 :
<script type="text/javascript">
var name;
function push(x){
var com;
com = j+":"+name;
};
function namae(){
while (name == "" || name == "null"){
name = window.prompt("名前を入力してください", "");
};
</script>
<body>
名前:<script type="text/javascript">
namae();
</script>
コメント:<input type="text" id="comments" value="">
コードを書き間違えていました
このクライアントで動かしているcomをサーバー側で使えるようにしたいのです.

57 :
jQueryなんですが、
foo.find(bar).hoge().find(baz).piyo()
みたいにしたあと、一気にfooに戻りたいときはどうすればいいですか?
foo.find(bar).hoge().end().find(baz).piyo().end()
と毎回小刻みに戻っておくか
foo.find(bar).hoge().find(baz).piyo().end().end()
と最後で.end()を繰り返すかしかないですか?
前者は意味が違ってくるので使えるときと使えないときがありますが

58 :
tableの行数を知るときには、「tableタグのID.childNodes.length」とやっても出ず、
「tableタグのID.childNodes[0].childNodes.length」とやると行数が表示されたのですが、
これはtableの中には暗黙的にTBODYタグが入っていることになっていると
いうことなのでしょうか?

59 :
>>58です
よくよく調べてみたりfirebugで見てみるとやはりtbodyが暗黙で挟まるようですね
ありがとうございました

60 :
どういたしまして
.rows.length でええんちゃう

61 :
質問です。
IEでリンクをクリックした時にまわりに出る点線を消したいです。
Javascriptでなら消せると聞いて調べ、
window.onload=function(){
a=document.getElementsByTagName("a");
for(i=0;i<a.length;i++){
a[i].onfocus=function(){this.blur();}
}
area=document.getElementsByTagName("area");
for(i=0;i<area.length;i++){
area[i].onfocus=function(){this.blur();}
}
}
をCSSに書いたのですが、点線が消えてくれません。
キャッシュを消してみたりしてもダメでした。
何か書き方が間違っているのでしょうか?教えて頂けるとありがたいです。
ちなみに、リンク一つ一つに
onfocus="this.blur();"
を付けるやり方だと点線は消えるのですが、手間が半端ないので
できれば一括でやりたいのです。
ブラウザはIE9を使っています。OSはwindows7です。
よろしくお願いします。

62 :
>>61
面倒臭いから突っ込まないけど、
CSS に a { outline: none; } って書けば消えるはず。

63 :
>>62
それだと消えなかったんです。

64 :
>>61
ドキュメントモードがIE8かIE9になってないだろ
outlineで制御できるのはIE8以降だ
IE7以前はhideFocusプロパティを使う必要がある
http://msdn.microsoft.com/ja-jp/library/ms533783
あと、フォーカスしているかどうか判断可能なスタイルにしてるか?
:focus疑似クラス知ってるか?
下手にいじると問題ばっかり出るから、デフォルトのままにしとくのが無難だぞ

65 :
>>64
ドキュメントモード指定したら消えました!!ありがとうございました!

66 :
>>60
ありがとうございます
試してみます 

67 :
>>59
忘れがちだが、HTMLでtbody要素が省略可能なだけだからね
同様に、html要素やbody要素を省略しても、DOMにはいるでしょ

68 :
IEで正規表現は使えない?
matchでエラーが出るんだけど

69 :
IEのバージョンとそのスクリプト書いてくれ
基本使えるよ

70 :
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ServerSentEvent</title>
</head>
<body>
<script type="text/javascript">
var a = { comments: 'kom' };
var b = a.match(/[0-9a-zA-Z_]/);
document.write(b);
document.write(a);
</script>
</body>
</html>
IE9で上記のHTMLを起動するとmatchが云々言われる
http://www.dotup.org/uploda/www.dotup.org2380051.png

71 :
matchはStringオブジェクトのメソッドじゃね?
aはObjectオブジェクトじゃね?

72 :
うむ、aはオブジェクトだわな
対象は文字列にしないと

73 :
配列だったとしてもa[0].matchとかってやらないとダメよん

74 :
どうやら勉強不足のようだ
ありがとう
出た単語を調べてくる

75 :
node.jsスレとのマルチポストだったのか

76 :
あとvipでも・・・

77 :
VIPのどこw

78 :
var a = 0;
var kotae = if (a==1);
または
return if (a==1);
みたいに直でtrueやfalseってどやって手に入れるんでしたっけ?

79 :
var kotae = true;
ん?ちょっと何がやりたいのかよくわからん

80 :
ifがいらない
var hoge = a == 1;
これでhogeにはboolが入る
hoge = a == 1 && true || null;
こんな書き方もできるけど解り辛いわな

81 :
>>80
thx

82 :
質問です。
下の場合firefoxではp1、p2とも動作するんですがIE(7.0 8.0)の場合p1のみしか反応しません。
原因として何が考えられるでしょうか?
<p id="p1">test1</p>
<p id="p2">test2</p>
<script type="text/javascript">
p = document.getElementById("p1");
p.onmouseover = setColor;
p2 = document.getElementById("p2");
p2.onmouseover = setColor;
function setColor() {
this.style.backgroundColor = "black";
this.style.color = "white";}
</script>

83 :
id属性によるGlobalスコープの汚染
http://d.hatena.ne.jp/uupaa/20100325/1269459024

84 :
>>82
IE8のthis値が書き換わらなかった気がする

85 :
JavaScriptで任意のキーボードを押下したのと同等のコードは書けますか?
例えば、あるフォームにフォーカスした際、「無変換」キーを押下したと同じように
IMEをカタカナ入力モードに切り替えるとかなんですが・・

86 :
よく考えたら、そんなことできたらセキュリティ的にやばい気がします。
やっぱ無理ですよね・・・?

87 :
id振ると勝手にグローバル変数みたいにしてくれるのは知ってたけど
そのまま新しい値を代入しようとするとIEはエラーまで出してくれるのか。
>>82
var p2 = にしたら動いたよ。
まずエラーが出てるかどうかくらい確認すれ

88 :
(スレ立て依頼について)
>>37
>>39
了解しました。 今回の依頼は取り止めと致します。
ただ、Raphael自体は簡単に始められて面白い技術なので、皆さん是非使ってみて下さい。

89 :
>>83
そういう性質があったとは知りませんでした。
ありがとうございました。
>>84
ありがとうございます。
解決しました。
>>87
ありがとうございます。
「var p2 」場合はグローバル変数ではなく、ローカル変数ということになるんでしょうか?
エラーも確認しました。
ちなみに document.write(p2); を書いた場合、firefox8.0だと下のエラーが出ましたが、
p2 = document.getElementById("p2");の実行はエラーを吐きません
IE8,0では逆のようですね
「警告: グローバルスコープで ID または name 属性値により要素を参照しています。
代わりに W3C 標準の document.getElementById() を使用してください。」

90 :
>>83
> that はアレ(手が届かない)。 this はコレ(手が届く) という
> 距離感の意味合いもあり、クロージャの中から上位の this に
> 触れないというもどかしさを、self に比べて的確に表現できています。
なんていうか、詩人だな
ちょっと感心した
自分はいつも大文字一文字だ

91 :
<p class="a1">で囲まれた部分をクリックするとalert("い")とアラートするスクリプトを作っています
$(".a1").click(function(alert("い"))});
で正常に動作しますがappendToで追加したclass="a1"には動作しません
a1をappendした直後もう一度$(".a1").click(function(alert("い"))});と記述すれば解決するのですが
その場合二重に関数を書くことになるのでどうしてもゴチャゴチャしてしまいます
何かスッキリさせる方法とかありますでしょうか?

92 :
$(".a1").live('click', function(alert("い"))});

93 :
>>92
liveなんてあったんですか、ありがとうございます
しかし標準でliveのような仕様じゃ無いという事はliveに何かデメリットでもあるんでしょうか?

94 :
>>92
liveよりonの方がいいらしいよ
>>93
後から追加される要素は、それを監視する工夫が必要
行ってるように、追加直後にイベントも追加する方が分かりやすいような気がするけど

95 :
liveってまだ未完成なだけじゃなかった?

96 :
liveは1.7からon置き換わり

97 :
マジか
1.6で満足してたから知らなかった

98 :
jQueryに関しちゃ常に最新のものにしとけよー

99 :
>>93
標準ではバブリングを利用する
liveの内部コードも同じ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
10: 【SEO】Google対策 パート9【Google】 (913)
11: いまどきのSEO対策 (275)
12: WordPress(ワードプレス)でWeb制作 質疑応答スレ 01 (108)
13: ホームページビルダースレッドその40♪(・ω・)ノ (393)