私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.116 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
CSSで
pointer-events:none
を設定していたら
JavaScriptのイベントも起きないのでしょうか?
pointer-events:none
を設定していたら
JavaScriptのイベントも起きないのでしょうか?
>>251
html
<a href="#">hoge</a><br>
<a style="pointer-events:none;" href="#">hoge</a>
js
$('a').mouseover(function(){ this.style.cursor = "wait"; });
html
<a href="#">hoge</a><br>
<a style="pointer-events:none;" href="#">hoge</a>
js
$('a').mouseover(function(){ this.style.cursor = "wait"; });
あとこれも試しに
$('a').click(function() { alert(''); });
$('a').click(function() { alert(''); });
ありがとうございます
JSのイベントすら無効にできるんですね~
イベントのガードに使えそう
JSのイベントすら無効にできるんですね~
イベントのガードに使えそう
度々いわれてるけど、仕様と実装の違いを理解してないんだろうね
そもそも、IE6のバグの影響でHTML4時代のブラウザではgetAttributeが正しく働かないから実装上も問題はあるんだけどね
実装の話をするにしても具体的なブラウザとバージョンを示して論ずるべきでしょ
そもそも、IE6のバグの影響でHTML4時代のブラウザではgetAttributeが正しく働かないから実装上も問題はあるんだけどね
実装の話をするにしても具体的なブラウザとバージョンを示して論ずるべきでしょ
未知の属性は書いても無視されるから問題にならない
問題になるというのなら、そのブラウザ名を言えばいい。
問題になるというのなら、そのブラウザ名を言えばいい。
そもそも、最初の「HTML4だと問題起きますか?」は厳密にHTML4の仕様を聞いてる訳じゃなくて
IE6とかで問題起きますか?と聞いてるだけだとエスパーしてみる
仕様的な事だったら起きますか?ではなくありますか?だな
仕様も大事だが、IE6含む全ての主要ブラウザで問題無い事が確認出来れば問題無い
(IE6の確認は手間なんで俺はやらんが)
IE6とかで問題起きますか?と聞いてるだけだとエスパーしてみる
仕様的な事だったら起きますか?ではなくありますか?だな
仕様も大事だが、IE6含む全ての主要ブラウザで問題無い事が確認出来れば問題無い
(IE6の確認は手間なんで俺はやらんが)
getattributeが働かないってまじですか?
jqueryはie6もサポートしていますが
attrは動かないんですか?
jqueryはie6もサポートしていますが
attrは動かないんですか?
>>261
> ...IE6とかで問題起きますか?と聞いてるだけだとエスパーしてみる
> 仕様も大事だが、IE6含む全ての主要ブラウザで問題無い事が確認出来れば問題無い
> (IE6の確認は手間なんで俺はやらんが)
仕様の話は仕様書を読めば完結するからそこで話は終る
が、実装の話は自分で試さないと意味がない
自分で調べも試しにせずに「大丈夫なはず」と適当な話を主張するのは控えていただきたい
「HTML4を実装するUAで不明な属性は無視されるから問題ない」と主張するするならIE6だけじゃなく、HTML4仕様を実装している主要UA全てで問題ない証拠を掲示すべきだし、それは意見を出したあなたが掲示すべき事だ
>>262
IE7- の getAttribute はプロパティアクセスと等価となる
従って、element.getAttribute('data-*') はプロパティアクセスとして動作する
http://msdn.microsoft.com/en-us/library/ms536429%28v=vs.85%29.aspx
> jqueryはie6もサポートしていますが、attrは動かないんですか?
jQueryは既知の属性は内部的に該当プロパティ名に変換する回避措置を導入しているはず
しかし、不明な属性には有効に機能しないので、jQueryでもこの問題を回避できない
> ...IE6とかで問題起きますか?と聞いてるだけだとエスパーしてみる
> 仕様も大事だが、IE6含む全ての主要ブラウザで問題無い事が確認出来れば問題無い
> (IE6の確認は手間なんで俺はやらんが)
仕様の話は仕様書を読めば完結するからそこで話は終る
が、実装の話は自分で試さないと意味がない
自分で調べも試しにせずに「大丈夫なはず」と適当な話を主張するのは控えていただきたい
「HTML4を実装するUAで不明な属性は無視されるから問題ない」と主張するするならIE6だけじゃなく、HTML4仕様を実装している主要UA全てで問題ない証拠を掲示すべきだし、それは意見を出したあなたが掲示すべき事だ
>>262
IE7- の getAttribute はプロパティアクセスと等価となる
従って、element.getAttribute('data-*') はプロパティアクセスとして動作する
http://msdn.microsoft.com/en-us/library/ms536429%28v=vs.85%29.aspx
> jqueryはie6もサポートしていますが、attrは動かないんですか?
jQueryは既知の属性は内部的に該当プロパティ名に変換する回避措置を導入しているはず
しかし、不明な属性には有効に機能しないので、jQueryでもこの問題を回避できない
element.getAttribute("class"); は比較的有名なバグだと思うけど、最近の人は知らないんだなあ
このバグの影響でほとんどの人は getAttribute を使わず、element.className を使ってた
今でも getAttribute を使う必要性はほぼないけどね
このバグの影響でほとんどの人は getAttribute を使わず、element.className を使ってた
今でも getAttribute を使う必要性はほぼないけどね
ありがとうございます
http://stackoverflow.com/questions/7361356/how-to-get-data-attribute-in-ie-7
これによると、jqueryはie7でもうまくやってくれるようです
http://stackoverflow.com/questions/7361356/how-to-get-data-attribute-in-ie-7
これによると、jqueryはie7でもうまくやってくれるようです
getattributeで読み取れないのにどうやって読み取っているのかが謎ですが・・
>>268
回答も getAttribute の問題を解決するものではないでしょ
回答も getAttribute の問題を解決するものではないでしょ
昔のIEはclassだけ特別扱いしてたってこと
だけどしらない属性は特別扱いする理由がないからgetAtrributeで取得できるわけだ
だけどしらない属性は特別扱いする理由がないからgetAtrributeで取得できるわけだ
Web上のコードを実行するとエラーになります。
http://pc.nikkeibp.co.jp/article/column/20131028/1110088/
の
IE-autologin.jse
を実行すると、
行:39
文字:3
エラー:オブジェクトでサポートされていないプロパティまたはメソッドです。
となります。
何が問題なのでしょうか。
g_accouunt,gpasswordの設定はしています。
プログラミング初心者のためすみません。
よろしくお願い致します。
http://pc.nikkeibp.co.jp/article/column/20131028/1110088/
の
IE-autologin.jse
を実行すると、
行:39
文字:3
エラー:オブジェクトでサポートされていないプロパティまたはメソッドです。
となります。
何が問題なのでしょうか。
g_accouunt,gpasswordの設定はしています。
プログラミング初心者のためすみません。
よろしくお願い致します。
>>273
You can use it with any data attribute, for example, if you had:
<div id="DivId" data-something="foo" data-somethingElse="bar">
You can get the data out by:
$('#DivId').data('something');
$('#DivId').data('somethingElse');
って書いてますが違うんですか?
IE7でとどうやるの?って聞いてるんだからIE7で可能な答え方をするのが普通の人間ですよね?
答えているのはアスペ回答者なのでしょうか?
You can use it with any data attribute, for example, if you had:
<div id="DivId" data-something="foo" data-somethingElse="bar">
You can get the data out by:
$('#DivId').data('something');
$('#DivId').data('somethingElse');
って書いてますが違うんですか?
IE7でとどうやるの?って聞いてるんだからIE7で可能な答え方をするのが普通の人間ですよね?
答えているのはアスペ回答者なのでしょうか?
どういう誤解を?
IE7でもdata-*属性を何らかの方法で読めるからjqueryはこの機能を実現できたわけですが?
IE7でもdata-*属性を何らかの方法で読めるからjqueryはこの機能を実現できたわけですが?
>>273
> jQuery.data() は data-* 属性へのアクセサメソッドじゃない
半分はずれ。
dataメソッドで読み書きするのはメモリになる。
ただしdata-*属性を読み取ることは可能。要するにdata-*属性は初期値だ。
だからdata-*属性をdataメソッドでアクセスできるかといえば半分正解になる。
dataメソッドはdata-*属性を書き換えることはできない。
どうしても書き換えたいならattrメソッドを使う。
> jQuery.data() は data-* 属性へのアクセサメソッドじゃない
半分はずれ。
dataメソッドで読み書きするのはメモリになる。
ただしdata-*属性を読み取ることは可能。要するにdata-*属性は初期値だ。
だからdata-*属性をdataメソッドでアクセスできるかといえば半分正解になる。
dataメソッドはdata-*属性を書き換えることはできない。
どうしても書き換えたいならattrメソッドを使う。
attrで読み書きするのはタグの属性値。
data-* というのはHTML5からできた機能だが、attrメソッドでは
data-がついているからって特別扱いはしておらず、一般的な属性扱い。
だからdata-hogeを読み書きするにはattr('data-hoge')を使用する。
attrはHTMLの仕様で定められていないものを含めて属性値すべてを読み書きできる。
data-* というのはHTML5からできた機能だが、attrメソッドでは
data-がついているからって特別扱いはしておらず、一般的な属性扱い。
だからdata-hogeを読み書きするにはattr('data-hoge')を使用する。
attrはHTMLの仕様で定められていないものを含めて属性値すべてを読み書きできる。
To set data:
$('#DivId').data('something', 'foo');
$('#DivId').data('somethingElse', 'bar');
とありますし、この説明からは複雑な挙動は読み取れません。
IE7でもattrを使えばdata-*属性に書き込みできるなら、
jqueryは内部でそうしているのでは?
つまりjqueryのdataを使っている限り、IEの挙動を気にする必要はないということでは
$('#DivId').data('something', 'foo');
$('#DivId').data('somethingElse', 'bar');
とありますし、この説明からは複雑な挙動は読み取れません。
IE7でもattrを使えばdata-*属性に書き込みできるなら、
jqueryは内部でそうしているのでは?
つまりjqueryのdataを使っている限り、IEの挙動を気にする必要はないということでは
>>278
ごめん&ありがとう
確かに僕の認識が誤っていた事を実際に jquery-2.1.0.js で確認した
で、実際にどうやって取得しているのかコードを読んでいるけど、どうにもよくわからなかった
まだまだ精進が足りないなあ
ごめん&ありがとう
確かに僕の認識が誤っていた事を実際に jquery-2.1.0.js で確認した
で、実際にどうやって取得しているのかコードを読んでいるけど、どうにもよくわからなかった
まだまだ精進が足りないなあ
わかった
jquery-2.1.1.js の3704行目か
// If nothing was found internally, try to fetch any
// data from the HTML5 data-* attribute
if ( data === undefined && elem.nodeType === 1 ) {
name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
data = elem.getAttribute( name );
IE7- は elem.getAttribute("data-*") でもアクセスできる
突き詰めれば、elem["data-*"] でもアクセスできるという事になるのか
なかなか奇抜な仕様だなあ
jquery-2.1.1.js の3704行目か
// If nothing was found internally, try to fetch any
// data from the HTML5 data-* attribute
if ( data === undefined && elem.nodeType === 1 ) {
name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
data = elem.getAttribute( name );
IE7- は elem.getAttribute("data-*") でもアクセスできる
突き詰めれば、elem["data-*"] でもアクセスできるという事になるのか
なかなか奇抜な仕様だなあ
というかDOMのレベルではgetAttributeしか属性値を
取得する方法ないでしょ?
data()はjQueryの機能。
data-*属性はHTML5の仕様で自由に属性作っても違反にならないものとして
定義されただけで、昔から属性は勝手に作れる。(HTML的に違反になるだけ)
そして属性をJavaScriptから取得するメソッドは昔から変わらずgetAttribute
取得する方法ないでしょ?
data()はjQueryの機能。
data-*属性はHTML5の仕様で自由に属性作っても違反にならないものとして
定義されただけで、昔から属性は勝手に作れる。(HTML的に違反になるだけ)
そして属性をJavaScriptから取得するメソッドは昔から変わらずgetAttribute
>>283
そうなんだけど、IE7- の getAttribute は DOM に準拠してなくて、プロパティアクセサメソッドだから data-* 属性は取得出来ないと思ってた
そうなんだけど、IE7- の getAttribute は DOM に準拠してなくて、プロパティアクセサメソッドだから data-* 属性は取得出来ないと思ってた
IE6-8で試した人が居た
http://dasalog.eg2mix.com/jshtml5-data/
そう考えると
http://stackoverflow.com/questions/7361356/how-to-get-data-attribute-in-ie-7
これのgetAttribute()で取れないってのがあやしいんだけど
別の原因でうまくいってないんじゃないの?
http://dasalog.eg2mix.com/jshtml5-data/
そう考えると
http://stackoverflow.com/questions/7361356/how-to-get-data-attribute-in-ie-7
これのgetAttribute()で取れないってのがあやしいんだけど
別の原因でうまくいってないんじゃないの?
本当いつでもいつまでもIEは悩ましてくれる…IEがなきゃコードも大分スッキリできるのに…
どっちかと言えば上の実験の方が怪しいだろ
stackoverflowは質問者だけでなく数々の回答者のチェックも受けてるんだから
間違っていれば指摘されてる可能性が高い
stackoverflowは質問者だけでなく数々の回答者のチェックも受けてるんだから
間違っていれば指摘されてる可能性が高い
>>282
よく考えたら IE7- なら jquery-1.8.3.js を参照すべきだったね
結論としては、該当コードだけなら jquery-2.1.1.js と変わりなかった
■1772行目
// Try to fetch any internally stored data first
if ( data === undefined && elem ) {
data = jQuery.data( elem, key );
data = dataAttr( elem, key, data );
}
■1806行目
var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
data = elem.getAttribute( name );
>>288
IE7- は持ってなくて試せてなかったけど、getAttribute('data-*') は期待通りに動作するのか
出来ればでいいんだけれど、下記3パターンで試してくれると嬉しい
console.log(element.getAttribute('data-*'));
console.log(element['data-*']);
console.log(element.attributes.getNamedItem('data-*').value);
よく考えたら IE7- なら jquery-1.8.3.js を参照すべきだったね
結論としては、該当コードだけなら jquery-2.1.1.js と変わりなかった
■1772行目
// Try to fetch any internally stored data first
if ( data === undefined && elem ) {
data = jQuery.data( elem, key );
data = dataAttr( elem, key, data );
}
■1806行目
var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
data = elem.getAttribute( name );
>>288
IE7- は持ってなくて試せてなかったけど、getAttribute('data-*') は期待通りに動作するのか
出来ればでいいんだけれど、下記3パターンで試してくれると嬉しい
console.log(element.getAttribute('data-*'));
console.log(element['data-*']);
console.log(element.attributes.getNamedItem('data-*').value);
>>292
ありがとう
やっぱり、IE7- は element['data-*'] でも参照可能なトンデモ仕様なんだね
getNamedItem が使えるのなら getAttribute に頼らなければ、仕様上は問題なさそう…と思ったけど、類似バグが合ったら嫌だなあ
何度もすまないけど、下記2パターンではどうだろう?
element.attributes.getNamedItem('class').value
element.attributes.getNamedItem('className').value
前者のみで期待通りに動作するのが好ましいのだけど
> (console.logなどという高級なものはIE7にはござらぬ…)
空気のように使っていて、忘れてたー
戯言だけど、console.log は早く標準化しないかなあ
ありがとう
やっぱり、IE7- は element['data-*'] でも参照可能なトンデモ仕様なんだね
getNamedItem が使えるのなら getAttribute に頼らなければ、仕様上は問題なさそう…と思ったけど、類似バグが合ったら嫌だなあ
何度もすまないけど、下記2パターンではどうだろう?
element.attributes.getNamedItem('class').value
element.attributes.getNamedItem('className').value
前者のみで期待通りに動作するのが好ましいのだけど
> (console.logなどという高級なものはIE7にはござらぬ…)
空気のように使っていて、忘れてたー
戯言だけど、console.log は早く標準化しないかなあ
乗りかかった船
>>293
前者は値がとれた
後者はelement.attributes.getNamedItem('className')の段階でnullだね
ちなみに getAttributeだと
alert(element.getAttribute('class')); // null
alert(element.getAttribute('className')); // class属性の値
chromeなどと逆か…
classとclassNameは昔対応した覚えがあるわ、いままでわすれてた
>>293
前者は値がとれた
後者はelement.attributes.getNamedItem('className')の段階でnullだね
ちなみに getAttributeだと
alert(element.getAttribute('class')); // null
alert(element.getAttribute('className')); // class属性の値
chromeなどと逆か…
classとclassNameは昔対応した覚えがあるわ、いままでわすれてた
面倒くせーな
ちょっとしたDOMアクセスもjquery使った方がいいってことか
ちょっとしたDOMアクセスもjquery使った方がいいってことか
'hoge_123'
のような文字列から数値部分を取り出す簡単な方法はありませんか?
のような文字列から数値部分を取り出す簡単な方法はありませんか?
var val = ('hoge_123'.match(/\d+/) || [])[0]; // val => 123
>>289
>http://dic.nicovideo.jp/a/悪魔の証明
悪魔の証明(ラテン語:probatio diabolica)とは、「ある事実・現象が
全くないことを証明させてはならない」という論争上の原則の一つ。
概要と使い方
一般的に、「ないこと」を証明するより「あること」を証明する方が簡単な場合が多い。
例えば「未知の属性を無視するから問題ない。この点で問題が出るブラウザはない」をめぐって
「問題が出るブラウザがある派」と「問題が出るブラウザがない派」が対立した場合を考える。
(あとは面倒だから自分で単語、置き換えな)
ここで「ない派」がそれを立証するには、現在777万本以上存在する動画の中から屋外を映している
動画全てを探して閲覧し、その全てに幽霊が登場しないことを確認する必要がある。
対して、「ある派」が立証するには屋外で撮影された心霊フィルムや怪奇映像などの動画から一本探して示せばよい。
このように「存在する説」と「存在しない説」が対立した時、それらには立証する際の難易度に大きな差があることが多い。
そこで、こういった論争と証明について、その困難さなどを考慮すべきという原則を「悪魔の証明」と呼ぶ。
「ない」派が立証できないからといって、「ある」派が常に正しいとは限らないのだ。
要するに「無い(いない)ことを証明しろ!」は無茶振りである、というわけである。
>http://dic.nicovideo.jp/a/悪魔の証明
悪魔の証明(ラテン語:probatio diabolica)とは、「ある事実・現象が
全くないことを証明させてはならない」という論争上の原則の一つ。
概要と使い方
一般的に、「ないこと」を証明するより「あること」を証明する方が簡単な場合が多い。
例えば「未知の属性を無視するから問題ない。この点で問題が出るブラウザはない」をめぐって
「問題が出るブラウザがある派」と「問題が出るブラウザがない派」が対立した場合を考える。
(あとは面倒だから自分で単語、置き換えな)
ここで「ない派」がそれを立証するには、現在777万本以上存在する動画の中から屋外を映している
動画全てを探して閲覧し、その全てに幽霊が登場しないことを確認する必要がある。
対して、「ある派」が立証するには屋外で撮影された心霊フィルムや怪奇映像などの動画から一本探して示せばよい。
このように「存在する説」と「存在しない説」が対立した時、それらには立証する際の難易度に大きな差があることが多い。
そこで、こういった論争と証明について、その困難さなどを考慮すべきという原則を「悪魔の証明」と呼ぶ。
「ない」派が立証できないからといって、「ある」派が常に正しいとは限らないのだ。
要するに「無い(いない)ことを証明しろ!」は無茶振りである、というわけである。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.110 + (1001) - [97%] - 2013/10/13 14:01
- + JavaScript の質問用スレッド vol.126 + (348) - [97%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.117 + (1009) - [97%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.114 + (1001) - [97%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.126 + (952) - [97%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.107 + (1001) - [95%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.100 + (1001) - [95%] - 2012/6/13 22:46
トップメニューへ / →のくす牧場書庫について