くわこのpermission denied.

WEBエンジニアの僕がぶつかった技術的な問題や発見

javascript

ES6のアロー関数を使うとjqueryのon()でthisが効かない

例えばselectボックスが変更された時点でその値を取って何かしたい場合 以下のように書くとエラーになります。 $(document).on("change", ".hoge", (() => { // this が undefined console.log(this.value); } これはES6の新仕様ではthisが呼び出し元拘束さ…

jQueryで親要素取得

jQueryで親要素取得のまとめ。satohmsys.infoこの記事によくまとまってますが .parent("div")は一個上の階層のdiv要素 .parents("div")はそこから上の全div要素 .closest("div")は直近のdiv要素 を取得してくれる。

jQueryで配列の中に任意の値があるか調べたい

jQueryで「この配列の中に10があるのだろうか」というとき用のメモがてら。 if ($.inArray(value, result_list) !== -1) { // valueがresult_listに入っていたときの処理 } else { // valueがresult_listに入っていなかったときの処理 } inArray()は第二引数…

jQueryでチェックボックスのチェック済みの値のみを取得

jQueryでチェックボックスのチェック済みの値を取得する方法また自分でも再利用しそうなのでメモがてら。 var chkbox_list = []; $.each($('name="chkbox[]":checked'), function(index, chkbox) { chkbox_list.push(chkbox.value); }); これでchkbox_listに…

iosでmouseover(hover)がかかるところでclickできない【javascript】

iosでmouseoverの処理がある部分のclickが動かないなぁ...と思って調べたら、そもそもそういう仕様らしい。以下引用 Apple のドキュメント によると、タップの際に mouseover, mousemove, mousedown, mouseup, click の順でイベントが発生するが、mouseover,…

javascriptでspかどうか判定する方法

JSでsp判定をしたくて調べたのでシェア var ua = navigator.userAgent; if (ua.search(/iPhone/) || ua.search(/Android/)) { // 処理 } これだけ。iPadとかも含めたかったらif文にorで追加すれば良い。JavaScript Ninjaの極意 ライブラリ開発のための知識と…

KnockoutJSでMessage: Unknown template type: [object HTMLCollection]

タイトル通り、KnockoutJSでMessage: Unknown template type: [object HTMLCollection]というエラーが出て、検索しても出なかったけど、初歩ミスだったのでメモがてらシェア。 路線の会社リストをforeachで出す的なhtml。 <ul data-bind="template: {name: line_company_list_template, foreach: company_list}"> </ul> <script type="text/html" id="line_company_list_template"> <li> </li>

jqueryのattrでdata属性を書き換えない方がいいっぽい。

小一時間無駄にしたので怒りのシェア。 $("#hoge").attr(data-text, 'page'); しても これで書き換えできたのですが、実はjQueryで扱うjQuery.attr()メソッドではjQueryオブジェクト上は書き換えできていません。再度、取得しても、取得できる結果は書き換え…

KnockoutJsの$root,$parent(s)とは?

Knockoutjsの$root(あるいは$parent(s))とは?knockout.jsのチュートリアル( learn.knockoutjs.com )やってて途中から急に$root(あるいは$parent(s))って変数が出てくるようになって、なんやねん( ´_ゝ`)と思ったので共有。View側 <table> <thead><tr> <th>Passenger name</th><th>Meal</th><th>Sur</th></tr></thead></table>…

js久々に触ったらundefined is not a function出た件

js久々に触ったらundefined is not a function出た 久々にjsやったら初歩で undefined is not a function って出て何もできなかった。 コードは以下。 $(function() { $('#area_button').changeArea(); }); $.fn.changeArea() = function() { $(this).on('cl…

【jQuery】jQueryで動的に生成したcheckboxのイベントを拾う

【jQuery】jQueryで動的に生成したcheckboxのイベントを拾う 動的に生成したcheckboxのイベント拾えなくて泣いてたら jQueryで動的に生成される要素に対するイベントの設定方法 jQueryで動的に生成される要素に対するイベントの設定方法 | klogこの記事見つ…

【jQuery】オブジェクトのマージ

jsでオブジェクトをマージする方法ないのかなと思ったら、jQueryで便利な関数を見つけたので共有。 $.extend(obj1, obj2); で後方のobj2が優先されてマージされます。ちなみに $.extend(obj1, obj2, obj3, obj4); みたいなのでもできるらしいです。

ajaxで複数の値の渡し方

ajaxで複数の値を投げるための方法を調べたのでメモ。 $.ajax({ type: "POST", url: url, data: {name: name, id: id }, success: function(data){ //処理 }); という感じで渡すことで渡し先でPHPなら $_POST['id'], $_POST['name'] で受け取れます。

javascriptで ;(functionという始まり方がある?

オープンソースのSCeditorのソースを読んでいたら、一番最初が ;(function(){ といった始まり方をしていてよくわからなかった。 詳しい友達に聞いてみたところ、 「匿名関数を作って呼び出してるだけだよー function f($, window, document) { ... } f(jQuer…