Давайте пойдем вашим путем)))
вот ссылочка
http://bjiactb.60ru.com/test.html потестите ролик в фф. ( у меня не работает)
вот код:

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
import flash.events.MouseEvent;
import flash.text.TextField;
/**
* ...
* @author BJIACTb
*/
public class Main extends Sprite
{
public var tf:TextField = new TextField();
public var xx:int = 100;
public var yy:int = 100;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
tf.x = xx; tf.y = yy;
tf.border = true; tf.text = "11111";
addChild(tf);
stage.addEventListener(MouseEvent.MOUSE_WHEEL, scroll);
}
function scroll (e:MouseEvent) {
if (e.delta > 0) { yy++; }
if (e.delta < 0) { yy--; }
tf.x = xx; tf.y = yy;
tf.border = true; tf.text = "11111";
addChild(tf);
}
}
}
Добавлено через 1 минуту
зы: На соседнем компе в ФФ тоже не пашет, так что переустанавливать чтото не имеет смысла.
Добавлено через 41 минуту
Прикрутил ЕТСовский фикс, но как то криво....не работает у меня, попровте плс.

Код AS3:
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.events.KeyboardEvent;
import ru.etsc.ui.MouseWheel;
[SWF(width = "400", height = "300")]
public class Main extends Sprite {
public var tf:TextField = new TextField();
public var xx = 100;
public var yy = 100;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
tf.x = xx; tf.y = yy;
tf.border = true; tf.text = "11111";
addChild(tf);
stage.addEventListener(MouseEvent.MOUSE_WHEEL, scroll);
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey);
}
function onKey(evt:KeyboardEvent):void
{
if (evt.keyCode == 32 || evt.keyCode == 13) {
handler_click();
}
}
function scroll (e:MouseEvent) {
if (e.delta > 0) { yy++; }
if (e.delta < 0) { yy--; }
tf.x = xx; tf.y = yy;
tf.border = true; tf.text = "11111";
addChild(tf);
}
// private function handler_click(event:Event):void {
private function handler_click():void {
if (MouseWheel.captured) {
MouseWheel.release();
} else {
MouseWheel.capture();
}
//this._field.text = 'Mouse wheel ' + (MouseWheel.captured ? 'captured' : 'released');
}
}
}