动态选择列表上的单击事件仅适用于 FF
Click event on dynamic select list only works in FF
我有一个用PHP动态创建的选择列表。我还有一个 JQuery 脚本,它根据用户从列表中选择的内容修改表单,但是点击事件仅在 FF 中识别,而不能被 Safari 或 Chrome 识别(尚未尝试过 IE)。我试图使用 JQ 选择器更具体,但这没有帮助。这是我第一次尝试让网站在所有浏览器上运行,因此非常感谢所有帮助。
.HTML
<select id="formcategory" name="Category">
<option value="Select One">Select One</option>
<option class="BloodSample" value="1">Blood Sample</option>
<option class="Exercise" value="2">Exercise</option>
<option class="InsulinInjection" value="3">Insulin Injection</option>
<option class="Meal" value="4">Meal</option>
<option class="Symptoms" value="5">Symptoms</option>
<option class="UrineSample" value="6">Urine Sample</option>
</select>
PHP to create the select list:
<?php
if(!$_POST) {
echo "<option value='Select One'>Select One</option>";
}
else {
echo "<option value='".$_POST['Category']."'>".$_POST['Category']."</option>";
}
foreach($array1 as $key=>$val) {
if($key<10) {
echo "<option class='".(str_replace(" ","",$val))."'value='".$key."'>".$val. "</option>";
}
}
?>
JQ
$('#formcategory').on('click','option',function() {
console.log($(this));//only FF finds the option selected
我不确定这是否是您问题的原因,但我不会尝试在option
上检测click
事件,而是检测select
本身的change
事件:
$('#formcategory').on('change', function() {
console.log($(this).val());
}
另一个优点是它也允许选择键盘。
相关文章:
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- PHP中的setcookie仅适用于localhost
- ng更改事件不适用于Dropdown
- html5 drawImage适用于firefox,而不是chrome
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- HTML Oncick事件仅适用于#Anchor标记
- 动态选择列表上的单击事件仅适用于 FF
- JavaScript 键关闭事件仅适用于 HTML 输入标记
- 将时间戳发布到本地商店的 OnChange 事件 - 适用于 7 个用户的团队
- JS中的事件只适用于foreach中的第一个检查表
- HTML5拖放getData()只适用于Chrome中的拖放事件
- onclick事件不'不适用于Firefox-适用于Internet Explorer
- 适用于ipad兼容性的鼠标事件到触摸事件
- 为什么输入's的焦点事件从未在Firefox中抛出?(适用于Chrome)
- 在OSX Safari(适用于Chrome/Firefox)上,滚动事件期间的CSS定位无响应和抖动
- ReactJS SyntheticEvent stopPropagation()只适用于React事件
- jQuery点击事件don'不适用于page,但它们适用于jsFiddle
- SVG阻止Safari中的点击事件(适用于windows),但在Firefox/Chrome中有效
- 触发ng-show只适用于ng-click事件
- jQuery表单提交事件只适用于Chrome浏览器