WorkflowyにURL付きで引用を簡単に張り付けられるブックマークレットを作ってみた

Workflowy で他のサイトの一部をメモしたいときに、「選択部分とURLを一度にコピペ出来たらいいのにな」と思ったのでブックマークレットを作ってみました。

出来ること

  • サイトの選択部分をWorkflowyのノードに貼り付けられます。
  • 選択部分を張り付けるときに「ノート」部分にURLが記入されます。

導入の仕方

f:id:hayeta:20170926182226p:plain

  1. 適当なサイトをブラウザのブックマークバーにお気に入り登録します。
  2. 登録したお気に入りを編集し、URLの部分に以下のコードを貼り付けます。
  3. 適宜名前を変更して保存します。
javascript: var select = document.getSelection();window.prompt('', '<opml version="2.0"><body><outline text="' + select + '" _note="' + location.href + '" /></body></opml>');void(0);

使い方

f:id:hayeta:20170926183647p:plain

  1. コピーしたいサイトを開いて一部を選択します。
  2. 先ほど作ったブックマークをクリックするとウィンドウが開きます。
  3. そのまま「Ctrl + C」を押して(もしくは右クリックからコピーを選択して)クリップボードにコピーします。
  4. Workflowyに戻って新しいノードを作成し、「Ctrl + P」(もしくは右クリックから貼り付けを選択)するとコピーしたものが新規ノードとして張り付き、ノート部分にサイトのURLが記入されます。

f:id:hayeta:20170926183819p:plain

Google Chromeで動作確認しています。

良かったらお使いください。

【Javascript】チェックボックスのonchangeでイベントが発動しないときの解決法【jQuery】

チェックボックスをクリックしてもイベントが発動しない!

jQueryを使用してチェックボックスへの操作をトリガーにイベントを発動させようとしたのだけれどどうしても動かずハマりました。

HTMLの例

<input type="checkbox" name="testbox" id="checkbox">

jQueryの例

$(function(){

    $('#checkbox').on('change', function(){
            window.alert('チェックされたよ!');
    });
    
});

このチェックボックスを押したときにアラートを表示させたいのだけれどどうしても出来ない。

以下解決策です。

jQueryで生成された要素をトリガーにイベントを発動させる方法

対象のHTML要素がjQueryによって動的に追加されたものである場合、上記の記述では発動しません。

記述を以下のように変更すれば発動しました。

※HTMLは先の例と同様ですので省略します。

jQueryの例

$(function(){

    $(document).on('change', '#checkbox', function(){
            window.alert('チェックされたよ!');
    });
    
});

これで無事イベントが発動しました。