2015-05-08 5 views
0

Привет всем Я пытался сделать мои прямоугольники интерактивными. После того, как это сработало, я сказал, что когда я нажимаю на прямоугольник, который показывает данные в div. В настоящий момент данные в div canvas являются справочными. Возможно ли со сценарием, что я должен делать то, что я хочу, или я должен начать снова, но сделать его совершенно другим ???Нажмите событие canvas/javascript

for (var i = 0; i < rects.length; i++) { 
    if (x > rects[i][0] && x < rects[i][0] + rects[i][2] && y > rects[i][1] && y < rects[i][1] + rects[i][3]) 
    { 
     alert('Rectangle ' + i + ' clicked'); 
    } 
} 

Это то, что у меня было. Я не знаю, как изменить оповещение на то, что я хочу.

(За весь HTML страницы)

http://fiddle.jshell.net/f6rLds4g/

+0

вы получаете 'e.offsetX' неопределенными. Проверьте http://fiddle.jshell.net/f6rLds4g/2/ – ketan

+0

Что я должен сделать, чтобы показать данные в div an not alert. @ketan –

+0

Какие данные? изображения, текст, html, видео, ...? – dwana

ответ

0

Установка innerHTML на DIV будет работать:

for (var i = 0; i < rects.length; i++) { 
    if (x > rects[i][0] && x < rects[i][0] + rects[i][2] && y > rects[i][1] && y < rects[i][1] + rects[i][3]) { 
     var container = document.createElement("span"); 
     span.innerHTML = 'Rectangle ' + i + ' clicked'; 
     document.getElementById("Display").appendChild(span); 
    } 
} 
+0

WOW это почти то, что мне нужно. Можно ли положить его в холст или в div. Потому что, когда я использую его, canvas исчезает :(. –

+0

@ S.Oruc Я обновил ответ. Новый элемент создается добавлением к div, чтобы он не удалял холст. Если вам это нужно на холсте, вам нужно для его выбора и для визуализации текста внутри. –

+0

Что вы подразумеваете под выбор и рендеринг? –

Смежные вопросы