時間取られた…汗
原因が想定外だったのでメモ。
結果から言うと、AjaxControlToolkit.dllをバージョンアップすれば解消する。
元のバージョン:ver4.1.5
バージョンアップ後:ver20.1.0
・ver4.1.5
$type = Sys.UI.Point = function Point(x, y) {
/// <summary locid="M:J#Sys.UI.Point.#ctor"></summary>
/// <param name="x" type="Number" integer="true"></param>
/// <param name="y" type="Number" integer="true"></param>
/// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Point.x"></field>
/// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Point.y"></field>
var e = Function._validateParams(arguments, [
{name: "x", type: Number, integer: true},
{name: "y", type: Number, integer: true}
]);
if (e) throw e;
this.x = x;
this.y = y;
}
・ver20.1.0
Sys.UI.Point = function Sys$UI$Point(x, y) {
/// <summary locid="M:J#Sys.UI.Point.#ctor" />
/// <param name="x" type="Number"></param>
/// <param name="y" type="Number"></param>
/// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Point.x"></field>
/// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Point.y"></field>
/// <field name="rawX" type="Number" locid="F:J#Sys.UI.Point.rawX"></field>
/// <field name="rawY" type="Number" locid="F:J#Sys.UI.Point.rawY"></field>
var e = Function._validateParams(arguments, [
{name: "x", type: Number},
{name: "y", type: Number}
]);
if (e) throw e;
this.rawX = x;
this.rawY = y;
this.x = Math.round(x);
this.y = Math.round(y);
}
スクロールしてx,yが小数になるとオブジェクトが動かなくなる。
scrollTop=0の状態だと問題ないが、少し下にスクロールすると発生する…という感じ。
画面サイズ的に普段スクロールしないから不定期扱いだった(=゚ω゚)ノ