Merge pull request #257 from wvengen/feature-touchclick

Better workaround for touch devices
This commit is contained in:
wvengen 2014-02-03 06:33:27 -08:00
commit 6e0489b25f
7 changed files with 84 additions and 24 deletions

View file

@ -19,19 +19,7 @@
//= require_self
//= require ordering
//= require stupidtable
// allow touch devices to work on click events
// http://stackoverflow.com/a/16221066
$.fn.extend({ _on: (function(){ return $.fn.on; })() });
$.fn.extend({
on: (function(){
var isTouchSupported = 'ontouchstart' in window || window.DocumentTouch && document instanceof DocumentTouch;
return function( types, selector, data, fn, one ) {
if (typeof types == 'string' && isTouchSupported && !(types.match(/touch/gi))) types = types.replace(/click/gi, 'touchstart');
return this._on( types, selector, data, fn, one );
};
}()),
});
//= require touchclick
// Load following statements, when DOM is ready
$(function() {

View file

@ -164,20 +164,20 @@ function updateBalance() {
}
$(function() {
$('input[data-increase_quantity]').click(function() {
$('input[data-increase_quantity]').on('touchclick', function() {
increaseQuantity($(this).data('increase_quantity'));
});
$('input[data-decrease_quantity]').click(function() {
$('input[data-decrease_quantity]').on('touchclick', function() {
decreaseQuantity($(this).data('decrease_quantity'));
});
$('input[data-increase_tolerance]').click(function() {
$('input[data-increase_tolerance]').on('touchclick', function() {
increaseTolerance($(this).data('increase_tolerance'));
});
$('input[data-decrease_tolerance]').click(function() {
$('input[data-decrease_tolerance]').on('touchclick', function() {
decreaseTolerance($(this).data('decrease_tolerance'));
});
$('a[data-confirm_switch_order]').click(function() {
$('a[data-confirm_switch_order]').on('touchclick', function() {
return (!modified || confirm(I18n.t('js.ordering.confirm_change')));
});
});

View file

@ -1,7 +1,7 @@
- content_for :javascript do
:javascript
$(function() {
$('#stock_changes').on('click', '.destroy_stock_change', function() {
$('#stock_changes').on('touchclick', '.destroy_stock_change', function() {
$(this).prev('input').val('1'); // check for destruction
var stock_change = $(this).closest('tr');
@ -11,7 +11,7 @@
return false;
});
$('#stock_changes').on('click', '.remove_new_stock_change', function() {
$('#stock_changes').on('touchclick', '.remove_new_stock_change', function() {
var stock_change = $(this).closest('tr');
stock_change.remove();
mark_article_for_delivery( stock_change.data('id') );

View file

@ -5,12 +5,12 @@
var ordergroup = "#{escape_javascript(render('ordergroup'))}"
$(function() {
$(document).on('click', 'a[data-remove-transaction]', function() {
$(document).on('touchclick', 'a[data-remove-transaction]', function() {
$(this).parents('tr').remove();
return false;
});
$(document).on('click', 'a[data-add-transaction]', function() {
$(document).on('touchclick', 'a[data-add-transaction]', function() {
$('#ordergroups').append(ordergroup);
return false;
});

View file

@ -10,7 +10,7 @@
theme: 'facebook'
});
$('#message_sent_to_all').click(function() {
$('#message_sent_to_all').on('touchclick', function() {
if ($(this).is(':checked')) {
$('#recipients').slideUp();
} else {

View file

@ -36,7 +36,7 @@
update_delta(this);
});
$(document).on('click', '#order_articles .unlocker', unlock_receive_input_field);
$(document).on('touchclick', '#order_articles .unlocker', unlock_receive_input_field);
$(function() {
$('input[data-units-expected]').each(function() {