我在javascript中创建了一个按钮,我想使用图像作为按钮而不是文本,但我还没有找到一种方法来做到这一点。到目前为止,我引用的来源因某些原因不适合我。我到目前为止的内容如下
的Javascript
var sb=doc.createElement('input');
sb.type='button';
//sb.value='Find';
sb.src = "url(/Resources/Icons/appbar.next.rest.png)";
sb.style.height='100%';
//sb.style.width='20%';
我的图片位于项目目录/Resources/Icons/appbar.next.rest.png
中。有人能指出我正确的方向,如何正确使用图像的按钮?我是javascript的新手,所以任何链接,代码或方向都将非常感谢!
答案 0 :(得分:1)
Use input type="image", or use a button element with an <img> child.
例如:
<input type="image" src="art/clips/eightbll.gif"
name="input_img" width="63" height="64">
or
<button type="button" id="input_img">
<img src="art/clips/eightbll.gif"
alt="Image input control" width="63" height="64">
</button>
答案 1 :(得分:0)
用于将图像添加到按钮,您可以将按钮的输入类型更改为图像:
var body = document.getElementsByTagName("body")[0];
var s = document.createElement("input");
s.src = "http://www.gravatar.com/avatar/a4d1ef03af32c9db6ee014c3eb11bdf6?s=32&d=identicon&r=PG";
s.type = "image";
body.appendChild(s);
你可以修改它。
答案 2 :(得分:-1)
基于推荐input type="image"
的{{3}},如果您计划使用按钮执行任何操作(在服务器上),似乎使用type="image"
可能会出现问题在javascript中。
基本上,您应该使用CSS的background-image
属性,而不是使用按钮的pure-html属性来显示输入。
js匹配你的:
var sb=doc.createElement('input');
sb.type='button';
sb.class='myImageButton';
并使用此css:
input.myImageButton {
border: none;
cursor: pointer;
display: inline-block;
text-indent: -3000px;
background: url(/Resources/Icons/appbar.next.rest.png) no-repeat 50% 50%;
/* width: 20%; */
height: 100%;
}
应该有用。
值得指出的是,如果你没有使用此按钮的值任何,那么这个答案真的不值得花时间。但你最好确定一下。