1

我正在尝试使用 onwebkitspeechchange 事件重置我的输入值,以便仅保留语音文本的值。

onclick在小麦克风上删除了文字

单击对话框后弹出并将值重置为初始文本

代码:

<input name="s" type="text" x-webkit-speech="" id="s" value="What are you looking for?" onfocus="if (this.value == 'What are you looking for?') {this.value = '';}" onwebkitspeechchange="if (this.value == 'What are you looking for?') {this.value = '';}" onblur="if (this.value == '') {this.value = 'What are you looking for?';}">

我知道 onblur 事件正在这样做,但我怎样才能为 onwebkitspeechchange 例外,所以只有语音区域?

不能使用占位符属性(不适用于 ie 9)

4

1 回答 1

1

我遇到了同样的问题,并使用了一个简单的 JS 函数。这是我的解决方案:

<input x-webkit-speech="x-webkit-speech" onwebkitspeechchange="webkitSpeechChange(this);" name="myinput" value="<?php echo $this->__('Search entire store here...') ?>" class="search-query" />
<script type="text/javascript">
    //<![CDATA[
    function webkitSpeechChange(input) {
        input.value = input.value.replace('<?php echo $this->__('Search entire store here...') ?>', '');
    }
    //]]>
</script>

where<?php echo $this->__('Search entire store here...') ?>应该是您的默认值。

希望这可以帮助 :)

于 2013-03-01T12:34:01.360 回答