单击时不会触发功能 - AJAX/CSS
Won't trigger function on click - AJAX/CSS
我正在尝试通过点击我的输入之一来触发 jQuery 功能。
简单的例子是这样的:
jQuery:
<script>
$('.i-check').click(function(){
alert("The class was clicked.");
});
</script>
输入
<div class="checkbox">
<label>
<input class="i-check" type="checkbox" name="all-inclusive" value="6"/>All-inclusive</label>
</div>
CSS
.i-check,
.i-radio {
display: inline-block;
*display: inlne;
vertical-align: middle;
margin: 0;
padding: 0;
width: 22px;
height: 22px;
border: 1px solid #ccc;
cursor: pointer;
top: 1px;
left: -7px;
margin-left: -13px;
float: left;
text-align: center;
line-height: 20px;
-webkit-transition: 0.3s;
-moz-transition: 0.3s;
-o-transition: 0.3s;
-ms-transition: 0.3s;
transition: 0.3s;
position: relative;
overflow: hidden;
}
.i-check:before,
.i-radio:before {
content: '\f00c';
font-family: 'FontAwesome';
-webkit-transition: 0.3s;
-moz-transition: 0.3s;
-o-transition: 0.3s;
-ms-transition: 0.3s;
transition: 0.3s;
-webkit-transform: translate3d(0, -25px, 0);
-moz-transform: translate3d(0, -25px, 0);
-o-transform: translate3d(0, -25px, 0);
-ms-transform: translate3d(0, -25px, 0);
transform: translate3d(0, -25px, 0);
display: block;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
color: #fff;
font-size: 14px;
}
.i-check.hover,
.i-radio.hover {
border: 1px solid #ed8323;
}
.i-check.checked,
.i-radio.checked {
border: 1px solid #ed8323;
background: #ed8323;
}
.i-check.checked:before,
.i-radio.checked:before {
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
opacity: 1;
-ms-filter: none;
filter: none;
}
.i-check.disabled,
.i-radio.disabled {
border-color: #d9d9d9 !important;
}
.i-check.disabled.checked,
.i-radio.disabled.checked {
background: #ccc !important;
}
.i-check.i-check-stroke.checked {
background: #fff;
}
.i-check.i-check-stroke.checked:before {
color: #ed8323;
}
如果我将 css class 名称更改为其他名称,然后我检查 - 然后 运行 它,它会起作用。所以我知道这与我的 CSS 有关,我只是想不通是什么?
请注意 CSS 中的伪 类 您使用的是“:”而不是“.”象征。因此,例如 .i-check.hover 应该是 .i-check:hover。与 "disabled" 和 "checked" 伪 类.
相同
如果您使用的是 iCheck 插件 - 请使用他们建议的回调方法。
例如:
$('input').on('ifClicked', function(event){
alert(event.type + ' callback');
});
他们还有回调 "ifChecked" 和 "ifUnchecked"
使用 api,效果完美。对于其他使用此插件的人,在检查状态下这应该为您完成。
<script>
$('.i-check input').on('ifChecked', function(event){
alert('function started');
});
</script>
这里要提到的一点是,无论何时放置此代码,请务必根据其他 jQuery 脚本正确放置!将代码放在所有脚本调用的最底部,以确保这不是它不起作用的原因。
我正在尝试通过点击我的输入之一来触发 jQuery 功能。
简单的例子是这样的:
jQuery:
<script>
$('.i-check').click(function(){
alert("The class was clicked.");
});
</script>
输入
<div class="checkbox">
<label>
<input class="i-check" type="checkbox" name="all-inclusive" value="6"/>All-inclusive</label>
</div>
CSS
.i-check,
.i-radio {
display: inline-block;
*display: inlne;
vertical-align: middle;
margin: 0;
padding: 0;
width: 22px;
height: 22px;
border: 1px solid #ccc;
cursor: pointer;
top: 1px;
left: -7px;
margin-left: -13px;
float: left;
text-align: center;
line-height: 20px;
-webkit-transition: 0.3s;
-moz-transition: 0.3s;
-o-transition: 0.3s;
-ms-transition: 0.3s;
transition: 0.3s;
position: relative;
overflow: hidden;
}
.i-check:before,
.i-radio:before {
content: '\f00c';
font-family: 'FontAwesome';
-webkit-transition: 0.3s;
-moz-transition: 0.3s;
-o-transition: 0.3s;
-ms-transition: 0.3s;
transition: 0.3s;
-webkit-transform: translate3d(0, -25px, 0);
-moz-transform: translate3d(0, -25px, 0);
-o-transform: translate3d(0, -25px, 0);
-ms-transform: translate3d(0, -25px, 0);
transform: translate3d(0, -25px, 0);
display: block;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
color: #fff;
font-size: 14px;
}
.i-check.hover,
.i-radio.hover {
border: 1px solid #ed8323;
}
.i-check.checked,
.i-radio.checked {
border: 1px solid #ed8323;
background: #ed8323;
}
.i-check.checked:before,
.i-radio.checked:before {
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
opacity: 1;
-ms-filter: none;
filter: none;
}
.i-check.disabled,
.i-radio.disabled {
border-color: #d9d9d9 !important;
}
.i-check.disabled.checked,
.i-radio.disabled.checked {
background: #ccc !important;
}
.i-check.i-check-stroke.checked {
background: #fff;
}
.i-check.i-check-stroke.checked:before {
color: #ed8323;
}
如果我将 css class 名称更改为其他名称,然后我检查 - 然后 运行 它,它会起作用。所以我知道这与我的 CSS 有关,我只是想不通是什么?
请注意 CSS 中的伪 类 您使用的是“:”而不是“.”象征。因此,例如 .i-check.hover 应该是 .i-check:hover。与 "disabled" 和 "checked" 伪 类.
相同如果您使用的是 iCheck 插件 - 请使用他们建议的回调方法。
例如:
$('input').on('ifClicked', function(event){
alert(event.type + ' callback');
});
他们还有回调 "ifChecked" 和 "ifUnchecked"
使用 api,效果完美。对于其他使用此插件的人,在检查状态下这应该为您完成。
<script>
$('.i-check input').on('ifChecked', function(event){
alert('function started');
});
</script>
这里要提到的一点是,无论何时放置此代码,请务必根据其他 jQuery 脚本正确放置!将代码放在所有脚本调用的最底部,以确保这不是它不起作用的原因。