Ermitteln Index angeklickte Tabellenzeile

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Milchmann
Posts: 112
Joined: 05 Nov 2016, 08:50

Ermitteln Index angeklickte Tabellenzeile

12 Jun 2019, 06:52

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
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: Ermitteln Index angeklickte Tabellenzeile

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
Recommends AHK Studio
Milchmann
Posts: 112
Joined: 05 Nov 2016, 08:50

Re: Ermitteln Index angeklickte Tabellenzeile

13 Jun 2019, 00:12

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
Milchmann
Posts: 112
Joined: 05 Nov 2016, 08:50

Re: Ermitteln Index angeklickte Tabellenzeile

13 Jun 2019, 00:14

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

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 19 guests