Я размышляю, что Вы могли propably кри как оператор
что-то как
as<T,Type> (left, right)
which evaluates to
if (typeof(left) == right)
return (right)left
else
return null
, я не уверен, как Вы сделали бы это, я - c# в данный момент, и моя шляпа Java стала немного пыльной, так как я покинул университет.
If rodd
is a jQuery object:
function Callme(rodd) {
if (rodd.is(":checked")) {
// ...
}
}
or:
function Callme(rodd) {
if (rodd[0].checked) {
// ...
}
}
Это должно сработать:
//Assuming rodd is a jquery element
Callme(rodd);
rodd.click(function() {
Callme($(this));
});
function Callme(rodd){
if(this.is(":checked"){
// do some behavior
}
}
помните, что у слушателя событий это указывает на элемент DOM, не элемент jquery. Поэтому вам нужно преобразовать это в элемент jquery, используя выражение $ (this).
Глядя на ваш код, вы передаете объект jQuery, rodd
, в функцию для возврата объекта jQuery $ (rodd) .click ...
Это могло бы быть проще для выполнения
$('#checkBox').click(Callme);
function Callme(rodd){
if(this.checked){
// do some behavior
}
}
или
$('#checkBox').click(Callme);
function Callme(rodd){
if($(this).is(':checked')){
// do some behavior
}
}
это также устраняет обработчик событий анонимной функции, который выполняет только Callme ()
, передаваемый в цель события. Здесь рабочая демонстрация .
РЕДАКТИРОВАТЬ:
В настоящее время Callme (rodd)
выше ожидает передачи объекта HTMLElement
. Если вы хотите иметь возможность передавать объект jQuery, просто измените его на этот
$('#checkBox').click(function(event) {
Callme($(event.target));
});
function Callme(rodd){
if(rodd.is(':checked')){
alert('checked');
}
}
, хотя лично я бы сохранил его как передаваемый элемент и сделал бы обертку в функции Callme
. вы можете захотеть добавить к параметру rodd
префикс $
, чтобы было очевидно, что ожидается объект jQuery.