【发布时间】:2013-04-23 21:50:43
【问题描述】:
我有以下脚本很好用,但是我认为这可以简化,对吗?另外,我希望它只触发一次。
例如,用户输入“我的标题”。脚本执行,用户在 slug 字段中看到“my-title”。如果用户用“我的疯狂标题”替换标题值,我希望 slug 保持“我的标题”。怎么样?
$('#article_title').change(function() {
str = $('#article_title').val();
formatted = str.replace(/\s+/g, '-').toLowerCase();
$('#article_slug').val(formatted);
});
【问题讨论】:
-
不确定这是否有效,但您可以尝试
$('#article_title').one( 'change', function(){} ) -
Eeeck,请将
var放在str和formatted前面,这样它们就不是隐式全局变量了。
标签: javascript jquery refactoring conditional-execution