События / методы указателя сценария

Мне нужно иметь возможность вызывать setPointerCapture(pointerId) и msPointerCapture(pointerId) для того, чтобы правильно реализовать масштабирование пинч на холсте для IE. ScriptSharp не распознает эти методы, поскольку они предназначены только для IE.

Так есть ли сценарий острый способ сделать следующее?

if (document.body.setPointerCapture) {
    document.body.setPointerCapture(event.pointerId);
}
else if (document.body.msSetPointerCapture) {
    document.body.msSetPointerCapture(event.pointerId);
}

setPointerCapture на w3.org

Спасибо!

1 ответ

Я смог решить эту проблему с помощью буквального сценария, например, так:

Script.Literal("var evt = arguments[0], cnv = arguments[0].target; if (cnv.setPointerCapture) {cnv.setPointerCapture(evt.pointerId);} else if (cnv.msSetPointerCapture) { cnv.msSetPointerCapture(evt.pointerId); }");

Я не доволен этим, но он выполняет свою работу.

Другие вопросы по тегам