未捕获的类型错误:无法读取未定义的属性(读取“目标”)和(读取“值”)
2021-12-10
5172
JQuery 版本从 2.14 升级到 3.5.0 后,我收到以下错误,但我不完全明白问题是什么,有 radio = event.target 我收到的错误在定义中无法读取未定义的属性(读取“target”) 有谁能帮我解决吗? *
var testMethod = {
testSubMethod: function (event) {
var radio = event.target;
var isMultiInput = $('#MultipleInputYes').is(':checked');
if (!isMultiInput || radio.value == undefined) {
$('.divMultiInput').addClass("dp-none");
if (radio.value == 'false') {
$('#divInputValueType').prop('disabled', false);
$('#divInputValueType').attr('style', '');
}
}
},
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
<div class="radio radio-success">
<input type="radio" id="MultipleInputYes" value="true" name="IsMultiInput" onchange="testMethod.testSubMethod(this)">
<label for="MultipleInputYes"> Yes</label>
</div>
<div class="radio radio-success">
<input type="radio" id="MultipleInputNo" value="false" checked="checked" name="IsMultiInput" onchange="testMethod.testSubMethod(this)">
<label for="MultipleInputNo">No</label>
</div>
2个回答
testMethod.testSubMethod(this)
this
- 在您的情况下引用 html 对象。
因此,可能将
testSubMethod: function (event) {
var radio = event.target;
更改为类似这样的内容可能会解决您的问题
testSubMethod: function (el) {
var radio = el;
Dmytro Andriushchenko
2021-12-10
我相信
event
在
var radio = event.target;
中一定是未定义的
因此当您尝试访问
event.target
时,您正在访问
undefined
的
target
属性,这是 javascript 中的错误
请先尝试检查事件是否已定义
var radio = event ? event.target : undefined
kode-emperor
2021-12-10