2016-07-01 26 views
1

如何從這個對象的JavaScript函數LoadDiv()我創建提示的值發送到JavaScript函數

此得到提示的值是對象:

<asp:Image ID="image1" runat="server" ImageUrl = '<%#"data:image/jpg;base64," + Convert.ToBase64String((byte[])Eval("Data")) %>' onclick = "LoadDiv(this.src, this)" style ="cursor:pointer" ToolTip='<%# Eval("AdsID") %>' />

,這是javascript函數我創建

function LoadDiv(url, lnk) { 
 
      var img = new Image(); 
 
      var bcgDiv = document.getElementById("divBackground"); 
 
      var imgDiv = document.getElementById("divImage"); 
 
      var imgLoader = document.getElementById("imgLoader"); 
 
      var imgFull = document.getElementById("imgFull"); 
 
      var dl = document.getElementById("<%=rpImages.ClientID%>"); 
 
      var imgs = dl.getElementsByTagName("img"); 
 
}

回答

0

首先要理解的是,ASP代碼不能以JavaScript的形式提供。它在服務器上被編譯爲標準HTML,並且JavaScript將在該HTML上運行。 ToolTip屬性可能不會以原樣顯示在HTML中;在猜測我會說它可能被渲染到title和/或alt屬性。所以,以你爲榜樣提供的代碼,就這樣呈現出來的HTML:

你應該做
<img id="Image1" src="data:image/jpg;base64 ..." alt="TOOLTIP VALUE" title="TOOLTIP VALUE" onclick="LoadDiv(this.src, this)" style="cursor:pointer" /> 

第一件事就是檢查你呈現的HTML,看看它是如何結束了 - 它可能或可能不符合我在那裏。在瀏覽器中打開頁面,然後查看源代碼或打開F12工具。一旦你知道這一點,你應該能夠把它從你的函數中的lnk參數中拉出來(你已經通過了this)。

  • 如果它是title屬性,你可以用lnk.title
  • 得到它,如果它是alt屬性,你可以用lnk.alt
  • 得到它,如果它的一些其他的屬性,你可以得到它使用lnk.getAttribute("attribute_name")

應當注意的是MSDN has this to say關於這個問題:

該屬性適用於所有瀏覽器。但是,只有Microsoft Internet Explorer才能將此屬性顯示爲工具提示。所有其他瀏覽器都將忽略此屬性。

這表明它呈現爲ToolTip屬性,並且它只適用於Internet Explorer。如果是這樣的話,我建議使用不同的方法來渲染它以獲得更好的跨瀏覽器支持。

+0

我看到感謝它現在的工作 –

0

嘗試:

變種myToolTip = document.getElementsByTagName( 「IMG」)[0] .getAttribute( 「工具提示」); (「img」)將返回一個數組。