如果您需要操作原始HTML,至少要在JavaScript中分別添加事件處理程序。和CSS文件中的樣式。
您的圖片標記代碼應包含data-
屬性:
i = i.replace(/"/g, '\\"')
return '<img data-input="' + i + '" src="../images/btnsave2.png" />'
然後添加一個監聽器是如此簡單:
var onClick = function (e) {
var data = e.target.getAttribute('data-input')
if (data) {
abccd(data)
}
}
/* Firefox, Chrome &c */
if (document.addEventListener) {
document.addEventListener('click', onClick, false)
/* IE <9 */
} else if (document.attachEvent) {
document.attachEvent('onclick', function() {
return onClick({ target: event.srcElement })
})
}
當然,XSS問題,通過@Quentin提到的,是仍然是一個問題。但至少你不會像原始示例那樣在內聯處理函數中轉義嵌套引號。
Eugh。重構。使用標準的DOM,而不是傳遞大量的HTML。然後你可以使用標準的事件處理器綁定技術。 – Quentin 2012-01-10 14:02:01
爲什麼圖像中缺少'alt'屬性? – Quentin 2012-01-10 14:12:28
@Quentin: - 我在JQGrid的一個自定義格式化程序中使用這個。我不認爲我可以在 – Nipuna 2012-01-10 16:05:08