「言ってみてぇ〜〜〜!」を言ってみた。

  • 「俺が書く。」

では、書いてください!に1000点


  • 「マウスがブラウザの外に抜けたかも」を予知する方法。

mousemove イベントを監視して、現在の位置と、前回の位置の差を求める
その差を反転させて、現在の位置から、次の位置を予測する。
その値が領域からはみ出たら、(x)ms秒後にマウスがブラウザ領域を
うろついていそうにないか調べ、擬似イベントを document.body にして、発火。
どうだろう?
(差を求めるのに、前々回・・・と増やせば予測精度はあがる)

//@cc_on @set @V = (@_jscript_version < 5.9)
document./*@if( @V ) attachEvent( 'on' + @else@*/ addEventListener( /*@end@*/
  'mousemove', (function( ) {
    var c = document /*@if (1) [document.compatMode == 'CSS1Compat' ?
      'documentElement' : 'body'] /*@else@*/ .defaultView /*@end@*/;
    var w = /*@if (1) 'clientWidth'  @else@*/ 'innerWidth' /*@end@*/;
    var h = /*@if (1) 'clientHeight'  @else@*/ 'innerHeight' /*@end@*/;

    var mx, my;

    return function ( e ) {
      var x = e.x, y = e.y;
      var sx = x - mx, sy = y - my;
      var ex = x + sx, ey = y + sy;
      var mx = c[w], my = c[h];
      
      if( ex < 0 || ey < 0 ) { // 上限はちょいと無視
        var cbFunc = function ( ) { ;}; // だれか火を起こして
        setTimeout( cbFunc, 60 ); //発火?
      }
      mx = x, my = y;
    };
  })(), false );

普通にイベントを2個付けろよ!とかいわせなぁ〜ぃ!?

  • ホイールクリックのスクロールを禁止するには

あれは、真ん中のボタンが押されたらキャンセルするだけではだめ?>think49 さん

//@cc_on
document./*@if( @_jscript_version < 5.9 ) attachEvent( 'on' + @else@*/ addEventListener( /*@end@*/
  'mousedown', function ( e ) {
    /*@if( @_jscript )
      if( e.button == 4 ) return e.returnValue = false; @else@*/
      if( e.button == 1 ) return preventDefault();
    /*@end@*/
  }, false );
//-->