#include <stdio.h>
#include <stdlib.h>
// ....
system("my_bash_script.sh");
Для реализации функций таймера можно использовать setTimeout ()
и clearTimeout ()
:
var timeout;
var delay = 500; // Delay in milliseconds
$("...")
.click(function() {
timeout = setTimeout(function() {
// This inner function is called after the delay
// to handle the 'click-only' event.
alert('Click');
timeout = null;
}, delay)
}
.dblclick(function() {
if (timeout) {
// Clear the timeout since this is a double-click and we don't want
// the 'click-only' code to run.
clearTimeout(timeout);
timeout = null;
}
// Double-click handling code goes here.
alert('Double-click');
}
;
jQuery Sparkle предоставляет чистое элегантное решение для этого, реализуя пользовательское событие в один клик. Сделав это, вы можете использовать его как любое другое событие, так:
$('#el').singleclick(function(){});
// or event
$('#el').bind('singleclick', function(){});
Он также предоставляет пользовательские события для последнего и первого щелчков в серии щелчков. А пользовательское событие lastclick фактически передает количество щелчков обратно! Так что вы можете сделать вот что!
$('#el').lastclick(function(event,clicks){
if ( clicks === 3 ) alert('Tripple Click!');
});
Вы можете найти соответствующую демонстрацию, демонстрирующую то, что я только что сказал, здесь здесь, а исходный код для определения пользовательского события здесь здесь. Это открытый исходный код под лицензией AGPL, так что вы можете смело брать из него все, что вам нужно! :-) Он также активно развивается изо дня в день, поэтому вы никогда не будете испытывать недостатка в поддержке.
Но самое главное - это DRY Plugin/Effect Framework, который позволит вам разрабатывать плагины и расширения намного проще. Так что я надеюсь, что это поможет достичь этой цели!