2013-12-23 61 views
1

我在Firefox OS應用程序的JavaScript上遇到了一些麻煩,所以我希望任何人都可以幫助我。選擇圖像不起作用

的情況是我追加從JavaScript的一些圖像(見代碼)

var aux = "<img class=\"imageOn\" id=\"" + imageName + "\"" + "src:\"" + imageURL + "\" >"; 
var image = "<a class=\"imageOn\" href=\"#\"> " + aux + " </a>"; 
$("#categoriasList").append(image); 
$('#'+imageName).attr('src',imageURL); 

現在我要選擇從另一個js文件,這些圖像之一:

$("img.imageOn").bind('click', function(e) { 
    console.log($(this).attr('id')); 
    playText($(this).attr('id'),"es"); 
    // Change to picturesView 
    // Load icons from category choosed 
}); 

的一點是,實際上它不起作用,事件沒有被觸發,所以附加或選擇圖像必須是錯誤的,但是我沒有發現錯誤。有誰知道如何修理它? 先進的謝謝。

回答

0

我使用查詢的事件處理程序「on」修復了它

2

src屬性應遵循的一個=不是:

"<img class=\"imageOn\" id=\"" + imageName + "\"" + "src=\"" + imageURL + "\" >"; 
2

"src:\" 

或許應該

"src=\" 
0

你需要的在=代替:src。試試這個:

"<img class=\"imageOn\" id=\"" + imageName + "\"" + "src=\"" + imageURL + "\" >"; 
0

如果你正在使用jQuery,你可以使用下面的方法。

var aux= $(document.createElement('img')).attr(
'id':imageName, 
'src':imageURL, 
'class':'imageOn' 
), 
image = $(document.createElement('a')).attr({ 
'class':'imageOn' 
'href':'#', 
}); 

image.html(aux); 
$("#categoriasList").append(image); 

並附加後,您可以附加事件處理程序。如果您在創建實際元素的情況下進行連接,則不會觸發它。這意味着如果你想在不同的文件中附加事件處理程序,你應該確保已經創建了所有的元素。否則不會觸發。

+0

Thanks!這是一個更清晰的方式來追加圖像。但是,該事件尚未觸發。我嘗試通過標記,類和元素進行選擇,但都沒有工作。這很奇怪,因爲我還有另一個正在工作的附加元素。 – user3130348

+0

你如何選擇?使用'$(「img.imageOn」)。bind'?嘗試'$(「img.imageOn」)。click(function(e){alert('it works');})' – Khamidulla

+0

我試過了他們兩個。首先,我使用點擊 - 然後我改變只是爲了檢查。沒有任何工作。不知道爲什麼,因爲如我所說,附加列表正在工作,事件被觸發 - 不是與圖像。任何其他幫助將非常感激。 – user3130348