我有删除类并将其添加到输入标记中的函数,我想在添加或删除类时,一个函数应该警告您已经进行了更改。
<head>
<script type="text/javascript">
$(function() {
$('a').click(function() {
$('input').removeClass()
var cl = $(this).attr('class')
$('input').addClass(cl)
})
})
function activitydone() {
alert('class change')
}
</script>
<style>
.first { border:solid 1px #F00 }
.second { border:solid 1px #0F0 }
.third { border:solid 1px #00F }
</style>
</head>
<body>
<input type="text" onchange="activitydone()" />
<a href="#" class="first">first</a>
<a href="#" class="second">second</a>
<a href="#" class="third">third</a>
</body>
答案 0 :(得分:3)
除非我遗漏了一些明显的东西,否则只需在课程改变后输入代码:
$('a').click(function(){
$('input').removeClass();
var cl= $(this).attr('class');
$('input').addClass(cl);
alert('class change');
});
另外,semicolons。
答案 1 :(得分:3)
除非这是一个不完整的例子......
<script type="text/javascript">
$(function() {
$('a').click(function() {
$('input').removeClass()
var cl = $(this).attr('class')
$('input').addClass(cl)
activitydone(); // <-- Do this?
})
})
function activitydone() {
alert('class change')
}
</script>
答案 2 :(得分:2)
您可以触发自定义事件并处理:
$(function() {
$('a').click(function() {
$('input').removeClass();
var cl = $(this).attr('class');
$('input').addClass(cl);
$('input').trigger('classChange');
});
$('input').on('classChange', function() {
activitydone(this);
});
})
function activitydone() {
alert('class change');
};
编辑注意:从您的标记中删除它:onchange="activitydone()"
这是一个小提琴页面,你可能会发现有用的结合你的问题(至少部分) http://jsfiddle.net/ekKG3/