のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,491,145人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
301 : Name_Not - 2011/02/03(木) 14:18:18 ID:??? (+20,+17,-15)
jqueryのリリースノートを翻訳してください
303 : Name_Not - 2011/02/03(木) 14:49:44 ID:??? (-27,-30,-82)
addEventListenerつかって、input要素のbuttonにイベント設定したんですが、
firefoxとchromeだけ反応がありません。

elem.onclick使って設定してもダメでした。
考えられる原因として何がありますか?
304 : Name_Not - 2011/02/03(木) 14:52:17 ID:??? (-28,-26,-19)
>firefoxとchromeだけ反応がありません
IEだけ反応するの間違いじゃねーのw
ソース出せよ
305 : Name_Not - 2011/02/03(木) 14:56:54 ID:??? (-28,-30,+0)
all=document.getElementsByTagName("input");
for(i=0;i<all.length;++i){
var buttonname=all[i].name;
if(buttonname=="test"){
var buttonnode=all[i];
break;
}
}

if(buttonnode.addEventListener){
buttonnode.addEventListener("click",Test,true);
}else if(buttonnode.attachEvent){
buttonnode.attachEvent("onclick",Test);
}else{
buttonnode.onclick=Test;
}

タグ内のonclick=の部分に書いてもダメでした。
IEだけしか反応しないの間違いですね。すみません。お願いします。
308 : Name_Not - 2011/02/03(木) 15:15:42 ID:??? (-26,-29,-59)
ちなみにfirebugでステップ実行してみると、
最初のaddEventListener関数が実行されているところまでは確認しています。

その後、呼び出し先の関数にブレークポイントしかけても、
反応がないので、呼び出されていないようなのです。
309 : Name_Not - 2011/02/03(木) 15:20:40 ID:??? (+27,+29,-33)
このソースじゃ再現できないから再現できるものを貼って

 一、トラブルを再現する最小限のサンプルを貼れる者
310 : Name_Not - 2011/02/03(木) 15:26:12 ID:??? (+27,+29,-4)
試したら普通に動いたからなんか凡ミスしてるんじゃないか
311 : Name_Not - 2011/02/03(木) 15:30:24 ID:??? (+32,+29,-3)
>>302
そんな機械翻訳見せられてもね
312 : Name_Not - 2011/02/03(木) 15:31:51 ID:??? (+27,+29,-25)
皆さんすいません。
alertだけの関数をセットしてみたら動きました。。。

関数の名前は間違ってないはずなんですけどね。。。
凡ミスっぽいのでもっと調べてみます。
313 : Name_Not - 2011/02/03(木) 15:32:41 ID:??? (+22,+29,-2)
気にせずまたいつでもこいや
314 : Name_Not - 2011/02/03(木) 15:33:03 ID:??? (-19,-29,-35)
一番上の階層にあるdivを消そうとするときってどうやるんですか?

div.parentNodeで親要素取得しようとしたんだが、実装されていませんってエラーがでるんだが。

これって、それ以上の親がないってことですか?
315 : Name_Not - 2011/02/03(木) 15:33:29 ID:??? (-29,-27,-18)
JavaScript版テンプレートエンジンとフレームワークを教えてください
316 : Name_Not - 2011/02/03(木) 15:39:13 ID:??? (+22,+29,-2)
>>314
もうちょい詳しく書いてくれれば答えやすいです
317 : Name_Not - 2011/02/03(木) 15:43:45 ID:??? (+22,+26,-27)
>>314
これ以上上位のノードが無かったらnullが帰るはずだよ
318 : Name_Not - 2011/02/03(木) 15:51:06 ID:??? (+23,+28,-2)
>>305
うちでは問題ありませんね
319 : Name_Not - 2011/02/03(木) 15:55:34 ID:??? (+32,+29,-8)
あなたが問題ないなら環境ぐらい書いてくださいよ・・・
こっちは躓いてるんだから
320 : Name_Not - 2011/02/03(木) 16:16:57 ID:??? (-20,-30,-155)
>>316-317
parentNodeを実行した時点で、実装されていません、というエラーがでるので
戻り値は見れないです。

そのdivは、document.getElementsByTagName("div")で取得したものを、
ループして、getAttributeを使ってクラス名を取り出し、
あるクラス名と一致したものがそのdivです。

実行する前に、そのdivがundefinedじゃないこと、クラス名とタグ名が正しいことを
alert出して確認しています。

その後、そのdivを消すために親ノードを取得しようとすると、
parentNode関数で「実装されていません」というエラーがでます。

何がおかしいのでしょうか?
322 : Name_Not - 2011/02/03(木) 16:25:03 ID:??? (-16,-6,-17)
divxのアドオン入れてないか?
前スレでそんな話あったぞ
323 : Name_Not - 2011/02/03(木) 16:29:55 ID:??? (+13,+18,-1)
>>320
とりあえずどのブラウザで実行したかを教えて
324 : Name_Not - 2011/02/03(木) 16:31:32 ID:??? (-10,-8,-15)
実装されていませんって出るならIEだろうな
327 : Name_Not - 2011/02/03(木) 17:12:05 ID:??? (+29,+29,-20)
アドオンは特に気になるようなものは無かったですね。

ちなみにさっきのだと親はbodyになるんですか?
328 : Name_Not - 2011/02/03(木) 17:12:41 ID:??? (+26,+29,+0)
>>319
ふつーの環境ですよ
329 : Name_Not - 2011/02/03(木) 17:16:48 ID:??? (+5,+8,+1)
>>327
yes
330 : Name_Not - 2011/02/03(木) 17:23:23 ID:??? (-26,-29,-61)
むう。結局なぜかparentNodeではエラーが出てしまうので、
対象のdivを別のdivで囲って、その親divにidをつけて、
getElementByIdでそのIDを取得して、その親divから消すことで強引に解決させました。

原因が分かる方がいらっしゃれば、回答いただけると嬉しいです。
331 : Name_Not - 2011/02/03(木) 17:25:17 ID:??? (-28,-30,-24)
getElementsByTagName[0].parentNode
って感じでやってIE7で普通に動いたのは確認しておいた
332 : Name_Not - 2011/02/03(木) 17:30:30 ID:??? (-28,-29,-5)
まさかとは思うが、parentNode()ってやってないよな?
333 : Name_Not - 2011/02/03(木) 17:33:23 ID:??? (+23,+29,-2)
>>331
ありがとうございます。

>>332
最初はやってて変なエラーが出ましたが、今はやっていません。
334 : Name_Not - 2011/02/03(木) 18:40:23 ID:??? (+18,+20,-17)
JavaScript版テンプレートエンジンとフレームワークを聞いておるのだ
336 : 296 - 2011/02/03(木) 19:51:10 ID:??? (+15,+24,-14)
>>300
サニタイズしてないのでセキュリティ上の問題が。
337 : Name_Not - 2011/02/03(木) 20:09:22 ID:??? (-25,-28,+0)
>>314
とりあえず、IE8 では動く。
http://jsbin.com/uviyu4/2
339 : Name_Not - 2011/02/03(木) 20:32:52 ID:??? (-27,-30,-59)
>>337
おおお!ありがとうございます!
いけました!

私の実行方法としては、
tmp=test.parentNode;
tmp.removeChild(test);
みたいなことしてたんですが、
test.parentNode.removeChild("test")
って、一行で書いたらなぜかいけました!

意味わかりませんが、ありがとうございました!
342 : 337 - 2011/02/03(木) 21:55:04 ID:??? (+19,+25,-8)
>>339
> 一行で書いたらなぜかいけました!
IE8 はhttp://jsbin.com/uviyu4/3 でも動く。
そこは原因じゃないと思う。
343 : Name_Not - 2011/02/03(木) 22:01:01 ID:??? (-21,-29,-64)
>>340
グローバル変数はそのページが unload されるまでは値が保持される。
メモリリークしていたら、ブラウザを終了するまでメモリから解放されない。

>>341
innerHTML でメモリリークする話は始めて聞いた。
リークパターンとなる条件や参考URLがあったら、教えて欲しい。
344 : 341 - 2011/02/03(木) 22:19:00 ID:??? (+27,+29,-57)
>>343
http://yakinikunotare.boo.jp/orebase/index.php?Javascript%2FinnerHTML%A4%CB%A4%E8%A4%EB%BB%D2%CD%D7%C1%C7%BA%EF%BD%FC%A4%CE%C3%ED%B0%D5%C5%C0
(張ってよくなかったらすみません)
ここはそういうことじゃないかと思った。まだどこかになにか残ってるからリークかなと。
データ不整合みたいなのかもとも思ったけど。
それにタグをinnerHTMLで削除か追加し直したらもとの中のタグの情報は完全には消えないと思ってる。
345 : Name_Not - 2011/02/03(木) 22:37:43 ID:??? (-25,-29,-149)
>>344
正直、何を問題としているのか良くわからない…。
件のURLは「IE7 で innerHTML が不振な挙動をする」と指摘しているのであってメモリリークとは書いてないし、Google Chrome で不具合が発生するとも書いてない。
どうして Google Chrome でメモリリークすると思ったのかな?

http://jsbin.com/ocepi3/1
IE8 でDOCTYPEスイッチを切り替えてみたがどれも正常に動作した。
IE7 のみ再現する不具合なのか、著者が何か勘違いしているのか…。
350 : Name_Not - 2011/02/04(金) 01:36:30 ID:??? (+27,+29,-30)
innerHTMLはイベントリスナーとかとある右手みたくぶち壊していくから好きじゃないな
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について