#jquery
#jquery
Вопрос:
Я сохранил функцию, созданную в jQuery, в clean.js досье..
jQuery.fn.singleDotHyphen = function(){
return this.each(function(){
var $this = $(this);
$this.val(function(){
return $this.val()
.replace(/.{2,}/g, '.')
.replace(/-{2,}/g, '-');
});
});
};
Мой файл действий..
<script type="text/javascript">
$(document).ready(function() {
$.noConflict();
$('#title').limitkeypress ({ rexp:/^[A-Za-z.-s`]*$/ });
$('#title').blur(function() {
$(this).singleDotHyphen();
});
});
</script>
Проблема в том, что onblur возвращает мне код функции, где, поскольку я хочу вернуть строку, которая отклоняет непрерывный дефис и точки…
Комментарии:
1. Какую версию jQuery вы используете?
2. Я использую jquery версии 1.3.2
3. В качестве примечания,
noConflict()
не предназначен для использования внутри документа, готового ( ref ) … это может действительно все испортить, если у вас на этой странице есть две библиотеки.
Ответ №1:
Версия .val()
метода, которая принимает аргумент функции, существует только в jQuery 1.4 и выше. Однако в этом случае вам не нужна эта версия, поскольку вы можете просто передать новое значение в val()
:
$this.val($this.val().replace(/.{2,}/g, '.')
.replace(/-{2,}/g, '-'));