input type = image – onclick(),将触发其事件,但在jquery中的函数不能很好
(我想这可能是两个post – 两个问题……所以如果你对它发表评论……我将把它们分开)
主要问题是:
我怎样才能为按钮设置图像背景……简单又合适?
我想现在我可以肯定这些事实:
因为我将图像设置为按钮背景时遇到“小问题”,…我想,好吧,如果用图像背景设置很困难,为什么不这样做,只需设置
onclick
事件在 !
我是对的(…差不多),因为是的,在image
类型上设置点击事件很容易,也可以设置src
..而不是按钮的background-image
…至少对我来说,它是。
问题是,在当前项目中),使用jQuery-UI dialog - ok, cancel
,
似乎问题是图像类型,Posts back(?!),所以对话框消失了
和按钮不会导致这个缺陷。
我尝试用一个断点来调试它,在vs2010中它都可以用点击事件,因为它们都达到了“function输入”……所以对于图像类型…我只能注意到,如同我可以看到<- Back button
,从disabled
切换到可点击,这意味着它确实回发了。
并且按钮不会发生这种情况,因为您将鼠标hover在按钮上没有任何乐趣,并且使用图像可以在状态栏中看到链接。
所以在按钮 – “转换”成图像之间存在差异(真实的),而不是图像变成“按钮”(用Click()
事件附加它),
所以我想知道的是:(只有这次我被允许使用这个post才能得到两个答案)
为什么图像回复? 我可以禁用此操作吗? …它不是服务器控件。 这是你应该知道的事情,并且假设发生了什么?
再次,如果它是偏离主题我会移动这个问题,我需要一个propper方式来设置按钮的背景图像,除非有一个解决方法的行为。
我不确定为什么图像类型输入元素的行为与按钮类型不同,但如果我是你,我会一起避免它。 如果你想定制你的按钮(看起来你是),我建议使用div并通过jquery / javascript控制用户交互。
演示: http : //jsfiddle.net/jrb9249/BvTD5/
HTML:
使用Javascript:
$('.div_button').click(function(){ alert('Run a postback via JS'); });
CSS:
.div_button { border: solid 1px gray; width:80px; height:25px; background:#A3A3A3; text-align:center; margin:0 auto; margin-top:50px; } .div_button:hover { border: solid 1px blue; background:#A1A1A1; cursor:pointer; }
要添加一些最后润色来完成按钮外观,只需使用此处的jquery圆角插件添加一些圆角。 如果您需要使用此控件进行回发(它看起来不像是asp.net控件,所以我认为这不是您正在做的事情),您可以使用此处描述的__Postback技术。
我希望这对你的网站有所帮助,祝你好运。
更新:自从这篇文章以来,我开始在标签中包含我的div标签,以创建div之外的超链接。 然后,您可以将自定义单击事件应用于
元素,并可以更好地控制您创建的按钮。