I use this JQuery for handling the situation where someone clicks on a “li” element from my list …
$listItems.click(function(e) {
e.stopPropagation();
console.log( $(this) );
var selectedText = $(this).text();
selectItemFromStyledList($styledSelect, $this, selectedText, $list)
});
I want to put the code into a function, so I’ve tried this
$listItems.click({styledSelect: $styledSelect, selectMenu: $this, listItem: $(this), list: $list}, clickListItem);
However, in my function, the “listItem” parameter is not the list item that was clicked (it looks like the window itself or something). How do I get a reference to the element that was clicked from within my function? It is detailed below …
function clickListItem(event)
{
var $styledSelect = $(event.data.styledSelect);
var $selectMenu = $(event.data.selectMenu);
var $listItem = $(event.data.listItem); // This is not the item that was clicked
var $list = $(event.data.list);
event.stopPropagation();
var selectedText = $listItem.text();
selectItemFromStyledList($styledSelect, $selectMenu, selectedText, $list)
} // clickListItem