Tabindex для новых объектов в Canvas? - PullRequest
0 голосов
/ 06 апреля 2011

Создание нового объекта при щелчке мышью как способ создания пользователями контрольных точек (которые я называю «крошками») при чтении больших веб-документов.У меня это работает с новой функцией Image (), однако, она не позволяет мне назначать tabindex для каждого нового изображения, созданного щелчком мыши (posX, posY).'crumbtoggle' просто подтверждает, что был выбран инструмент сбрасывания крошки.

рабочая новая функция Image ():

function draw_crumb() 
{
var b_canvas = document.getElementById("b");
var b_context = b_canvas.getContext("2d");
var crumb = new Image();
crumb.src = "crumb.gif";
if(crumbtoggle.className == "on")
{
b_context.drawImage(crumb, posX-20, posY-20, 50, 75);
}
}

нерабочая новая функция Object ():

function draw_crumb() 
{
var b_canvas = document.getElementById("b");
var b_context = b_canvas.getContext("2d");
var crumb = new Object();
crumb.type = "button";
crumb.src = "crumb.gif";
crumb.tabindex = 1;
if(crumbtoggle.className == "on")
{
b_context.drawObject(crumb, posX-20, posY-20, 50, 75);
}
}

Я пытался применить фокус кновые объекты Image, но это не является хорошей альтернативой атрибутам tabindex.Любые идеи очень приветствуются.

1 Ответ

0 голосов
/ 06 апреля 2011

HTML5 Canvas похож на реальный холст с мгновенно высыхающей краской.Когда вы рисуете прямоугольник или линию или изображение на холсте, он становится частью холста.Позже вы не сможете изменить порядок элементов или переместить их относительно друг друга.Это не отдельная сущность, которая может получить фокус.

Любой вид управления фокусом, интегрированный с обработкой фокуса браузером, должен осуществляться через ввод данных формы или привязки, распознаваемые браузером.

Мне непонятно, зачем вам холст или он вообще нужен.

...