Скопируйте следующий пример и посмотрите, поможет ли это закрепить то, что вы пытаетесь выполнить.
Доказательством попадания на основные теги ul являются оповещения. Вы увидите, что я создал классы 'testing1' и 'testing2'. В зависимости от того, какой тег li нажат, пользователь получит предупреждение о том, какой класс связан с родительским тегом ul тега li, по которому щелкнули.
Надеюсь, это поможет!
<ul class="testing1">
<li>clicking this should fire a click event</li>
</ul>
<ul class="testing2">
<li>clicking this should fire a click event</li>
</ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('ul')
.on('click', 'li', function() {
$(this).myPlugin();
});
});
$.fn.myPlugin = function(options) {
return this.each(function() {
//how should I trigger the onClick when the li is clicked???
onClick(this);
});
function onClick(jqObj) {
console.log('you clicked an li');
//I also need access to the main ul element inside here
alert($(jqObj).parent('ul').attr('class'));
}
}
</script>