在更改事件处理程序中添加或删除 class 不起作用
Add or remove class in change event handler not working
更改方法事件处理程序中的 addClass / removeClass 方法有问题。
我已经这样注册了我的处理程序:
$('.someSelector').change(MyHandler);
在 MyHandler 中我有
function MyHandler(){
var input = $(this);
input.addClass('something'); //not working
}
页面加载后,我再次通过控制台获得此输入,我正在执行相同的代码并且一切正常。那么change方法有什么问题呢?
after page loading I'm getting once again this input via console, I'm executing the same code and everything works correctly
所以这意味着您在第一次尝试绑定事件时没有DOM准备好。试试这个:
$(function() {
$('.someSelector').change(MyHandler);
});
你们很亲近。试试这个:
$(document).ready(function () {
$('.someSelector').change(MyHandler);
});
function MyHandler(){
var input = $(this);
input.addClass('something');
}
.something{background-color:red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="someSelector">
<option>A</option>
<option>B</option>
<option>C</option>
</select>
更改方法事件处理程序中的 addClass / removeClass 方法有问题。
我已经这样注册了我的处理程序:
$('.someSelector').change(MyHandler);
在 MyHandler 中我有
function MyHandler(){
var input = $(this);
input.addClass('something'); //not working
}
页面加载后,我再次通过控制台获得此输入,我正在执行相同的代码并且一切正常。那么change方法有什么问题呢?
after page loading I'm getting once again this input via console, I'm executing the same code and everything works correctly
所以这意味着您在第一次尝试绑定事件时没有DOM准备好。试试这个:
$(function() {
$('.someSelector').change(MyHandler);
});
你们很亲近。试试这个:
$(document).ready(function () {
$('.someSelector').change(MyHandler);
});
function MyHandler(){
var input = $(this);
input.addClass('something');
}
.something{background-color:red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="someSelector">
<option>A</option>
<option>B</option>
<option>C</option>
</select>