Поомгите убрать передачу ID
Есть
<textarea id="short_description"></textarea> <div class="notify2" id="short_description_left"></div> Сделал проверку ограничения символов function check_field_length(event) { var maxlength = event.data.maxlength; var fieldname = event.data.fieldname; var dif = maxlength - $(fieldname).val().length; if(dif < 0) { var message = '<span style="color:red">превышено допустимое кол-во символов на ' + dif + '</span>' }else { var message = "осталось символов " + dif; } $(fieldname + "_left").html(message); } $(function() { $("#short_description") .bind("keydown keyup paste click", {maxlength: 60, fieldname: '#short_description'}, check_field_length) .click(); }); как бы подпилить, чтобы не нужно было передавать fieldname, как можно получить ID textarea внутри check_field_length? :-? |
если же писать функцию прям внутри bind, this есть. но как же сделать если необходимо использовать отдельную функцию?
$("#category-autocomplete").bind("keydown keyup paste click", {num: 100}, function(event) { var num = event.data.num; var id = $(this).val("id"); alert(id); } ); |
Вариант установки и индикации maxlength для textarea и input ...
<!DOCTYPE html> <html> <head> <title></title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> <script type="text/javascript"> (function (a) { a.fn.setMaxlength = function () { var e = arguments; return this.each(function (i) { var b = a(this), c = e[i]||"50"; b.attr("maxlength")&&b.attr("maxlength", c); var d = a("<span />").css({ color: "#FF0000" }); b.after(d); d.html("({num} out of {max})".replace("{num}", b.val().length).replace("{max}", c)); b.bind("keypress keydown keyup paste click mouseup", function (e) { var g = a(this).val(); if (g.length >= c){ a(this).val(g.substring(0,c)); d.html("Max = "+c); } else d.html("({num} out of {max})".replace("{num}", g.length).replace("{max}", c)) }) }) } })(jQuery); $(function() { $("textarea, input").setMaxlength(60,15,10); //$("#short_description").setMaxlength(60); }); </script> </head> <body> <textarea id="short_description" cols="60"></textarea> <br /> <input name="a" /> <br /> <input name="b" /> <br /> <input name="c" /> <br /> <input name="d" /> <br /> </body> </html> |
рони
спасибо за пример. но все же хотелось бы узнать, как передать this в функцию bind?... |
tazododu,
event.currentTarget |
рони
спасибо, почитаю. |
Часовой пояс GMT +3, время: 18:03. |