2009-11-25 2 views
0
pic_display+="<img src='"+pic_url+"' onClick='swapImage("+pic_url+");'> 

Я добавляю изображение к innerHTML div с кодом выше. Я хочу вызвать функцию swapImage(pic_url) всякий раз, когда я нажимаю на изображение.как назвать эту функцию javascript изнутри другой функции?

Я еще не понял синтаксисы в javascript, всегда путайте их с php.

Как это должно быть написано?

Благодаря

ответ

-1

Вам нужно обернуть аргумент функции в кавычки, как вы с атрибутом SRC. Например.

pic_display+="<img src='"+pic_url+"' onClick='javascript:swapImage(\""+pic_url+"\");'> 
+1

Там нет требования поставить JavaScript: в onclick вроде –

+0

Второе предложение отчасти верно. Если pic_url может содержать кавычки, то у вас есть уязвимость XSS: http://en.wikipedia.org/wiki/Cross-site_scripting Если pic_url может содержать амперсанды, вы можете привести в действие URL-адрес, например. pic_url = 'foo? a = b & lt = c & gt; d' следует преобразовать в 'foo? a = b & lt = c & gt = d'. –

0

Должно быть, как это onClick='swapImage(\""+pic_url+"\");'

Примечание вам нужно процитировать ПОС URL, когда это аргумент, так как вы смысл использовать строку, а не переменную.

0

Вместо

onClick='swapImage("+pic_url+");'> 

попробовать

onClick='swapImage(\""+pic_url+"\");'> 
1

Вы можете сбросить квотирование вопрос, используя переменную вместо строки:

... onclick="swapImage(this.src)" ... 
Смежные вопросы