Сначала:
$('a#hardness_max').click(insert_tag("hardness_max"));
// is equivalent to:
var tmp = insert_tag("hardness_max");
$('a#hardness_max').click(tmp); // this calls the click handler with the result of the insert_tag function
То, что вы, вероятно, хотели, было:
$('a#hardness_max').click(function() { insert_tag("hardness_max"); });
// This function registers the click callback
Что касается ctr+alt+1
, это тот же случай, но я бы также добавил текстовое полечтобы они могли сделать ярлык в текстовом поле:
$(document).add('#water_chemistry').bind('keydown', 'alt+ctrl+1', function() { insert_tag("temp_min"); });
Итак, конечный результат:
jQuery( document ).ready( function( $ ) {
function insert_tag(tag){
$('#water_chemistry').val($('#water_chemistry').val()+' ['+tag+'] ');
}
var docAndTextarea = $(document).add('#water_chemistry');
docAndTextarea.bind('keydown', 'alt+ctrl+1', function() { insert_tag("temp_min"); });
docAndTextarea.bind('keydown', 'alt+ctrl+2', function() { insert_tag("temp_max"); });
docAndTextarea.bind('keydown', 'alt+ctrl+3', function() { insert_tag("pH_min"); });
docAndTextarea.bind('keydown', 'alt+ctrl+4', function() { insert_tag("pH_max"); });
docAndTextarea.bind('keydown', 'alt+ctrl+5', function() { insert_tag("hardness_min"); });
docAndTextarea.bind('keydown', 'alt+ctrl+6', function() { insert_tag("hardness_max"); });
docAndTextarea.bind('keydown', 'alt+ctrl+7', function() { insert_tag("conductivity_min"); });
docAndTextarea.bind('keydown', 'alt+ctrl+8', function() { insert_tag("conductivity_max"); });
$('a#temp_min').click(function() { insert_tag("temp_min"); });
$('a#temp_max').click(function() { insert_tag("temp_max"); });
$('a#pH_min').click(function() { insert_tag("pH_min"); });
$('a#pH_max').click(function() { insert_tag("pH_max"); });
$('a#hardness_min').click(function() { insert_tag("hardness_min"); });
$('a#hardness_max').click(function() { insert_tag("hardness_max"); });
$('a#conductivity_min').click(function() { insert_tag("conductivity_min"); });
$('a#conductivity_max').click(function() { insert_tag("conductivity_max"); });
});
А вот jsFiddle:
FIDDLE!