1 Reply Latest reply: Apr 30, 2011 12:23 AM by Ten A RSS

    eventListenerでのオブジェクト参照方法について

    Ten A Community Member

      イベントリスナの操作に関してですが、まずは下記のスクリプトをご覧下さい。

       

      var listner = app.activeDocument.addEventListener (
          'afterPlace',
          function (){
              alert ('capture event !');
              });
      listner.name = 'testEvent';

       

      このようにドキュメント配下にてイベントリスナを生成しておくと画像配置時にイベントを拾う事が出来ますが、そのイベントを引き起こしたオブジェクトを参照する方法を知りたいのです。

       

      どなたかご教授お願い致します。

       

      Ten

        • 1. Re: eventListenerでのオブジェクト参照方法について
          Ten A Community Member

          自己レスで申し訳ありません。

           

          event捕まえてtarget参照すると良いみたいですね。
          ついでに、

           

          #targetengine session

           

          var listner = app.activeDocument.addEventListener (
              'afterPlace',
              function (ev){
                  var tg = ev.target;
                  var mybnds = tg.geometricBounds;
                  tg.geometricBounds = [mybnds[0],mybnds[1],mybnds[0]+30,mybnds[1]+30];
                  tg.fit (FitOptions.proportionally);
                  tg.fit (FitOptions.centerContent);
                  });
          listner.name = 'testEvent';

           


          やりたかったのはこんな感じです。
          配置処理をキャプチャして強制的にバウンズを設定し内容をフィットさせます。
          配置コマンドの基本動作をオーバーライドする形ですので解除するまではず〜っとこの動作をします。

           

          解除は以下のスクリプト一行実行するだけです。

           

          app.activeDocument.eventListeners.itemByName('testEvent').remove();

           

          Ten