#jquery #jquery-plugins
#jquery #jquery-плагины
Вопрос:
Привет, я хотел бы описать сценарий, который я хотел бы выполнить, и я понятия не имею, как
Я хотел бы привязать live к элементу пользовательский ‘myclick’:
$('#somediv').bind('myclick', function() {});
очевидно, я хотел бы запускать это событие только тогда, когда что-то происходит с этим элементом,
например, если для этого элемента произошел щелчок myclick
Я знаю, как вызвать пользовательское событие для определенного элемента (http://api.jquery.com/category/events/event-object /)
Пояснения к вопросу:
Я определю, что означает myclick (например, 3 щелчка подряд по этому элементу)
как я могу определить, когда это произошло в ‘somediv’?
Могу ли я каким-то образом зарегистрироваться через jquery для элементов, которые привязывались к ним live? если да, то каким образом?
полный пример:
<html>
<head>
<script to include jquery>
<script to include MYCODE.js>
<script>
$('#somediv').bind('myclick', function() { alert('myclick'); } );
</script>
<body>
<div id='somediv'></div>
</body>
<head>
</html>
итак, мой вопрос: что делает MYCODE.js содержать?
как он может определить, что какая-то пользовательская логика, которую он определяет, произошла в ‘somediv’?
Спасибо за вашу помощь
Комментарии:
1. Хм, в чем вопрос?
2. Я не вижу здесь проблемы — в вашем вопросе описывается как привязка пользовательского события, так и способ его запуска. Вот и все.
3. @rsplak хотя я согласен, что 17% — это мало, не на все эти вопросы есть ответы, которые решают проблемы операционной системы.
4. @Nadav: ничего особенного. Официальная позиция по этому вопросу (даже в крайнем случае, когда вы публикуете вопрос, на который вы уже знаете ответ! ): meta.stackexchange.com/questions/2706
Ответ №1:
.trigger()
это метод, который вы ищете. Оно должно вызываться для того же элемента DOM, который вы использовали в .bind()
$('#somediv').trigger('myclick')
Ответ №2:
Точно так, как говорит Джефф, вам нужно вызвать $('#somediv').trigger('myclick');
любую логику, которая должна вызвать запуск события. Ваш пример привязки в вашем исходном вопросе мне кажется правильным, так что это должно быть все, что вам нужно сделать.
Ответ №3:
В итоге я написал плагин для этого — хорошее место для начала находится наhttp://blogs.sitepoint.com/how-to-develop-a-jquery-plugin / и http://starter.pixelgraphics.us /
Я написал свой плагин и разместил его здесь, если кому-то интересно.
http://code.google.com/p/jquery-touch-area/
Наслаждайтесь