元スレ+ JavaScript の質問用スレッド vol.105 +
JavaScript覧 / PC版 /みんなの評価 :
602 = :
メルアドをアカウント部分とドメイン部分にわけるphp
これJQueryでやろうとすると
どうかきますか?
list($em_alias, $em_domain) = explode('@', $em_email, 2);
603 = :
ローカル部に@が登場することもあるから、単純に@で分割代入しない方が良いのでは
604 = :
まあそこまで厳密じゃなくてもいいんじゃないか?
分割代入が有効なブラウザなら
var [ alias, domain ] = email.split("@");
その他のブラウザは
var alias, domain;
email = email.split("@");
alias = email[0];
domain = email[1];
605 = :
なるほどです
ありがとうございました
606 = :
(・∀・) アッタマイーナー
607 = :
単純に、ページ内の任意のリンクタグをクリックしたときにjsを実行したいです。
調べた所、2つの方法が出てきました。
1.ウィンドウ内でクリックイベントが起こった時、対象の要素がaタグか否かを調べる
2.ウィンドウロード完了後、ページ内のaタグ全てにオンクリックイベントを仕込む。
1.はクリックが起こると毎回実行されてしまい、2.は完全に無駄があります。
もっとスマートにaタグのクリックのみを検出する方法はありますか?
608 = :
>>607
> クリックが起こると毎回実行されてしまい
の意味がわからないんだが、1回しか実行されたくないなら
最初に実行された時にリスナーを解除すればいいんじゃないの?
609 :
610 = :
$("a").click(function(){
});
これじゃダメなの?
612 = :
>>608
関係ないクリックが生じた際にも、「リンクタグか否か?」の判別が実行されますよね?
>>609
もしもページ内に500個のリンクが存在すれば、それら全てにリスナーを追加する必要があり、無駄ではないですか?
613 = :
連投失礼。
>>610
まさにこれです。ありがとうございます。
jQueryなので内部的に1.と2.より処理が少ないのかは分かりませんが...
614 :
ものすごい初歩的な質問というか確認で恐縮なのですが…、
ページによって使うjavascriptが違っても、headタグ内のjavascriptの記述は
全ページ共通(つまり使うjavascriptすべて)にしないといけない、ということで間違いないでしょうか…?
615 = :
>>613
1の場合は、documentにイベントを追加して、イベントが発生した時に対象かどうか確認するだけなので軽い
2はすべてのa要素についてループしてイベントを追加するから遅い
jQueryはループを隠蔽するので、実は内部処理で膨大な量ループしてたなんてことが起こるから、
きちんと内部の動きを理解して使わないと非効率的なコードになるよ
>>614
いまいち言いたいことが分からんのだが、もう少し具体的に頼む
616 = :
>>614です。
わかりづらくてごめんなさい。
つまり、たとえばライトボックスを使いたいページと使わないページがあるとして、
使わないページのheadタグ内にも、ライトボックス用のjavascriptの記述が必要なのかどうか、
ということです。
こういうのは外部ファイルで読み込むべきということでしょうか…?
617 = :
むしろ必要だと思う理由が分からない
618 = :
>>616
使わないなら書かなければいいのでは?
ただ、複数のHTML全てに全く同じ内容のJavaScriptをコピペするのは保守の観点からやめたほうがいい
もし一箇所にバグがあることが判明したらすべてのHTMLファイルを修正しないといけなくなるから。
そのためにJavaScriptの管理を一元化するのが、外部ファイル化。
619 = :
>>618
確かにおっしゃる通りです…。
勉強になりました。
どうもありがとうございました。
620 = :
Gmailで件名が「Re:」のみになる場合に空欄にしようと,
全くの初心者ながら勉強を始めました。
イベントそのものが発生しないようでいきなりつまずいています。
よろしくご教示ください。
(function(){
document.addEventListener('blur', sweepRe, true);
function sweepRe(event){
var inputs = document.getElementsByTagName('input');
for(var i=0, len=inputs.length; i<len; i++) {
if ('subject' == inputs[i].name){
inputs[i].value = inputs[i].value.replace(まだよく分からない);
}
}
}
}
622 = :
>>621
どちらでもいいと思う。
昔はアンダーバーが入ってると認識してくれないブラウザがあるということで
ハイフン区切りが推奨されていたけど、もうそんな古いブラウザを使っている人はいないだろう
参考:http://hp.vector.co.jp/authors/VA022006/css/corrbrwser/selector.html#id_class-selectors
むしろアンダーバーのほうがいいのではないか?という意見もあるので、
単語の区切り方を統一して見やすくする、それにたまたまハイフン区切りが選ばれた
というのが真相な気がする。
CSSのセレクタ部分(IDやCLASS)にハイフンとか使われるの好きじゃないなー。ボクはあまり好きじゃないなー - latest log
http://uupaa.hatenablog.com/entry/2012/01/22/013509
624 = :
>>622
参考になるページまで貼っていただきありがとうございます。
なるほど、ネスケがCSSでアンダーバーが使えなかったのですね
IE6ですらサポートに捨てる時代、このルールに縛られる必要はなさそうですね。
627 = :
引数にアンダーバー使えないんすか
知らんかった
629 = :
>>627
URIの仕様ではアンダーバーも何の問題もなく使える
でも、Googleが単語区切りとして認識してくれない(ハイフンは認識してくれる)ので、
SEO的にはハイフンのほうがいいよ、ということらしい。
RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax
http://tools.ietf.org/html/rfc3986#section-2.3
Google と相性の良い URL の作成 - ウェブマスター ツール ヘルプ
http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=76329
630 = :
横からだけど知らなかった
へーへーへー
631 = :
ドメイン名にアンダースコア使えないから、ドメイン名以外の部分でアンダースコア使うと紛らわしいからって感じで
ドメイン名にアンダースコア使っちゃう人が出てこないようにって感じで
632 = :
質問させて下さい
canvasを使ってペイントソフト風のコンテンツを作ります
そこに拡大ツール(Photoshop等の虫眼鏡ツール)を設けたいのですが、どうすればいいでしょうか
オブジェクト毎ではなく、canvas枠内全域の拡大表示です
試行錯誤してますが、上手くいきません
宜しくお願いします
633 :
全ての座標をn倍して、視点の座標をズラすのではいかんの?
634 = :
>>632
rendering context の transform メソッドを使うなりして
canvas 全体に適用される変換行列をいじればいいんでない?
ただし描画済みのオブジェクトは再描画する必要ありかな
635 = :
>>633-634
ありがとうございました
座標の変倍とrendering contextでもう少し調べてみます
canvas面白いけど難しい…orz
636 = :
ブラウザのフォーム入力検証サポートを確認するにはどうすればいい?
検証機能に関連した属性(novalidateなど)やメソッド(checkValidityなど)の有無の確認で
概ね足りてる感じだが、Safariだと不正な入力でも送信してしまう(Windows版最新5.1.7)。
Appleのサイトを見るとサポートはされてるようなんだが、本来どういう動作をするのか不明。
637 = :
>>636
CGI側でも、もう一回チェックすれば?
JavaScriptでのチェックはオマケみたいなものだからさ、あてにしない方がいいのでは。
638 = :
ブラウザ側からの送信はつねに不正である可能性を想定しないとダメだ
639 = :
>>636はHTML5のフォームバリデーションのことね。
JSで入力検証するのではなく、JSでブラウザのサポート状況を確認したいと。
未対応ブラウザにおけるJSによる検証&サーバ側の検証は別の話と思ってくれ。
640 = :
なるほど。
でも、フォーム検証でそんな難しいことする?
641 = :
イラネ
644 = :
>>642
それ 1.8.3 だとちゃんと渡ってるね。
jQueryのバグかも。
648 = :
ウェブに上げるものじゃないんで板違いだったらすまん。
ただプログラマー板で板違い言われてここを言われたので来た。
新しいyahooのメアド作ったので今までにメールをくださった方
&メールを送った方にメアド変えますメールを送りたい。
しかし、俺は腐れ縁がたくさん(小中高+サークル+同期、同僚など1000人ほど)
おって手動はめんどい。
大事な人だけに送ろうとしても、下手したら同窓会の案内などをもらい損ねるかもしれん。
そこでプログラムくんで一斉送信したいのだが誰かソース教えてくれ。
条件:
・受信BOXと送信BOXにはいっているメールの送り主と宛先をすべてBCC欄に入れて送信できる。
・重複は省く。
・内容はテンプレでおk。
・開発環境が悪いので.jsか.vbsで。
650 = :
無事に神獣クエその他終了しました。
集まっていただいた方、ありがとうございました♪
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.125 + (1001) - [97%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
トップメニューへ / →のくす牧場書庫について