Page 1 of 1

Ermitteln Index angeklickte Tabellenzeile

Posted: 12 Jun 2019, 06:52
by Milchmann
Hallo,

ich bräuchte bitte mal Hilfe.
Und zwar möchte ich für diese Seite " media.kulturbanause.de/2012/06/reponsive-table-horizontal-scollable.html" ermitteln, welche Zeile ich angeklickt habe.

Code: Select all

~q & w:: ;internet explorer
WinGet, hWnd, ID, ahk_class IEFrame
winactivate, ahk_class IEFrame
pwb := WBGet("ahk_id " hWnd)
oE := pwb.document.querySelectorAll("table TBODY TR")
Loop, % oE.length
	{	
	oE[A_Index-1].addEventListener("click", func("onclick"))
	}	
	
	onclick()
	{
		MsgBox  % "Ergebnis :  " 
	}

Return

Aktuell bin ich so weit, schaffe es aber nicht, den Index zu ermitteln, um den Inhalt aus zu lesen. Wie erreiche ich es , dass der betreffende Reihenindex mit zur Funktion ( onclick ) übergeben wird?

Jemand dazu eine Idee oder auch Erfahrung damit?


Danke

Re: Ermitteln Index angeklickte Tabellenzeile

Posted: 12 Jun 2019, 09:14
by nnnik
Du könntest der Funktion OnClick einen Parameter geben und über .bind den Wert dessen beim zuschreiben auf das DOM Element festlegen.
Es gibt garantiert auch die Möglichkeit das Javascript zu modifizieren um den Reihenindex zu ermitteln.
Es ist aber für mich jetzt einfacher das erstere umzusetzen.

Code: Select all

~q & w:: ;internet explorer
WinGet, hWnd, ID, ahk_class IEFrame
winactivate, ahk_class IEFrame
pwb := WBGet("ahk_id " hWnd)
oE := pwb.document.querySelectorAll("table TBODY TR")
onClick := func("onclick")
Loop, % oE.length
	oE[A_Index-1].addEventListener("click", onClick.bind(A_Index))
	
onclick(rowNr)
{
	MsgBox  % "Ergebnis :  " . rowNr
}

Return

Re: Ermitteln Index angeklickte Tabellenzeile

Posted: 13 Jun 2019, 00:12
by Milchmann
nnnik wrote:
12 Jun 2019, 09:14
Du könntest der Funktion OnClick einen Parameter geben und über .bind den Wert dessen beim zuschreiben auf das DOM Element festlegen.
Es gibt garantiert auch die Möglichkeit das Javascript zu modifizieren um den Reihenindex zu ermitteln.
Es ist aber für mich jetzt einfacher das erstere umzusetzen.

Code: Select all

~q & w:: ;internet explorer
WinGet, hWnd, ID, ahk_class IEFrame
winactivate, ahk_class IEFrame
pwb := WBGet("ahk_id " hWnd)
oE := pwb.document.querySelectorAll("table TBODY TR")
onClick := func("onclick")
Loop, % oE.length
	oE[A_Index-1].addEventListener("click", onClick.bind(A_Index))
	
onclick(rowNr)
{
	MsgBox  % "Ergebnis :  " . rowNr
}

Return

Hallo nnnik,
danke für die schnelle und vor allem geniale Lösung. Ich hatte mich bisher noch nicht mit Bind beschäftigt. Hier tun sich ja noch viele andere Möglichkeiten auf.

Vielen Dank!

Milchmann

Re: Ermitteln Index angeklickte Tabellenzeile

Posted: 13 Jun 2019, 00:14
by Milchmann
Hallo Nnnick,

danke für die einfache und geniale Lösung. Hier tun sich ja mit Bind noch viele andere Lösungen auf.

Es hat mir sehr geholfen.

Danke
Milchmann