无法在Chrome中的jquery中禁用图像按钮
在cshtml页面代码中:
@(Html.Telerik().Grid<object>().Name("testGrid").Columns(columns =>{
columns.Bound(item).ClientTemplate("<input type='text' width='20px' onchange=testGrid.OnPriceLockChange(this)' class='price' /><img src='" + @Url.Content("~/images/Tier/PlusT.png") + "' width='16' height='16' border='0' alt='Add Tier' title='Add Tier' onclick=testGrid.OnAddTierClick(this);' />").Title("Lock").Width(120);
内部Jquery -
$.each(rows, function (index, row) {
var images = row.find("img");
$.each(images, function (index, image) {
$(image).attr("disabled", "disabled");
});
}
此代码适用于IE,但不适用于Chrome。
我也尝试了$(image).attr("disabled", true);
,但没有使用chrome。
只有$(image).removeAttr("onclick");
可以在Chrome和IE中使用。
但之后无法再绑定onclick
。
请提供一些建议,如何在chrome中禁用jquery中的按钮。
答案 0 :(得分:1)
您无法停用图片。仅适用于内置(标准化)的输入字段。
此外,onclick=testGrid.OnAddTierClick(this);
不是附加onClick处理程序的首选方法。这是一种古老而懒惰的方式。 jquery方式更好/更容易维护,逻辑从视图(html)松散耦合。
禁用检查不是内置的,请自行检查。这是一个例子。
ex html:
<img src="http://placehold.it/16x16" alt="Add Tier" title="Add Tier" class="addTierButton"/>
的javascript:
$('.addTierButton').click(function(){
if($(this).attr('disabled') !== true){
//onAddTierClick logic here...
}
});
甚至更短:
$('.addTierButton[disabled!="true"]').click(function(){
//onAddTierClick logic here...
});
如果您想添加行并保持使用.on()
$(_selector_for_parent_container_).on('click','.addTierButton[disabled!="true"]', function(){
//onAddTierClick logic here...
});
答案 1 :(得分:0)
VDP的答案很棒!我使用了以下内容,它就像一个魅力。
if ($('#' + controlid + '_Image1').attr('disabled') == 'disabled') return;