proper usage of jQuery.on(), and update javascript in views as well

This commit is contained in:
wvengen 2013-07-08 22:41:06 +02:00
parent e9e7135639
commit 33b27d2fa7
3 changed files with 11 additions and 11 deletions

View file

@ -28,19 +28,19 @@ $.fn.extend({
$(function() { $(function() {
// Show/Hide a specific DOM element // Show/Hide a specific DOM element
$('a[data-toggle-this]').on('click', function() { $(document).on('click', 'a[data-toggle-this]', function() {
$($(this).data('toggle-this')).toggle(); $($(this).data('toggle-this')).toggle();
return false; return false;
}); });
// Remove this item from DOM // Remove this item from DOM
$('a[data-remove-this]').on('click', function() { $(document).on('click', 'a[data-remove-this]', function() {
$($(this).data('remove-this')).remove(); $($(this).data('remove-this')).remove();
return false; return false;
}); });
// Check/Uncheck a single checkbox // Check/Uncheck a single checkbox
$('[data-check-this]').on('click', function() { $(document).on('click', '[data-check-this]', function() {
var checkbox = $($(this).data('check-this')); var checkbox = $($(this).data('check-this'));
checkbox.attr('checked', !checkbox.is(':checked')); checkbox.attr('checked', !checkbox.is(':checked'));
highlightRow(checkbox); highlightRow(checkbox);
@ -48,7 +48,7 @@ $(function() {
}); });
// Check/Uncheck all checkboxes for a specific form // Check/Uncheck all checkboxes for a specific form
$('input[data-check-all]').on('click', function() { $(document).on('click', 'input[data-check-all]', function() {
var status = $(this).is(':checked'); var status = $(this).is(':checked');
var context = $(this).data('check-all'); var context = $(this).data('check-all');
var elms = $('input[type="checkbox"]', context); var elms = $('input[type="checkbox"]', context);
@ -60,7 +60,7 @@ $(function() {
}); });
// Submit form when changing a select menu. // Submit form when changing a select menu.
$('form[data-submit-onchange] select').on('change', function() { $(document).on('change', 'form[data-submit-onchange] select', function() {
var confirmMessage = $(this).children(':selected').data('confirm'); var confirmMessage = $(this).children(':selected').data('confirm');
if (confirmMessage) { if (confirmMessage) {
if (confirm(confirmMessage)) { if (confirm(confirmMessage)) {
@ -93,7 +93,7 @@ $(function() {
}); });
// Remote paginations // Remote paginations
$('div.pagination[data-remote] a').on('click', function() { $(document).on('click', 'div.pagination[data-remote] a', function() {
$.getScript($(this).attr('href')); $.getScript($(this).attr('href'));
return false; return false;
}); });

View file

@ -1,15 +1,15 @@
- content_for :javascript do - content_for :javascript do
:javascript :javascript
$(function() { $(function() {
$('.destroy_stock_change').live('click', function() { $(document).on('click', '.destroy_stock_change', function() {
$(this).prev('input').val('1').parent().hide(); $(this).prev('input').val('1').parent().hide();
return false; return false;
}); });
$('.remove_new_stock_change').live('click', function() { $(document).on('click', '.remove_new_stock_change', function() {
$(this).parent().remove(); $(this).parent().remove();
return false; return false;
}) });
}); });
= simple_form_for [@supplier, @delivery], validate: true do |f| = simple_form_for [@supplier, @delivery], validate: true do |f|

View file

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