2015-03-23 8 views
0
create2.innerHTML = create2.innerHTML+ " <img onclick = 'a()' src =' "+ messages[msg].thumb + "' height='90' width='142'> </a> "; 
    function a(){ 

    } 

So I am trying to include an onlick event on image tag so that when it is click a function is called. However, I am getting the following error :ссылка ошибка не определена

Uncaught ReferenceError: а не определен OnClick Может кто-нибудь, пожалуйста, объясните, почему это происходит?

+0

Как выглядит остальная часть кода? Является ли функция «а» внутри функции? – epascarello

+0

Да функция a находится внутри другой функции – jinx

+1

Ну, это ваша проблема. Onclick ищет его в глобальном масштабе! – epascarello

ответ

0

Именно поэтому использование встроенных событий - плохая идея. Ваша область видимости - это окно, поэтому он ищет щелчок в окне. Когда функция находится внутри другой, у вас нет доступа к ней.

var img = document.createElement("img"); 
img.src = messages[msg].thumb; 
img.style.height = "90px"; 
img.style.width = "142px"; 
img.onclick = a; //would be better to use addEventListener() 
create2.appendChild(img); 
Смежные вопросы