Skip to content

Commit 0d55e48

Browse files
author
jxmai
committed
Fix primefaces#3029 - strengthen the focus function in core.js
1 parent 102b4b9 commit 0d55e48

File tree

1 file changed

+16
-12
lines changed
  • src/main/resources/META-INF/resources/primefaces/core

1 file changed

+16
-12
lines changed

src/main/resources/META-INF/resources/primefaces/core/core.js

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -399,26 +399,17 @@
399399
}
400400
else {
401401
var firstElement = jq.find(selector).eq(0);
402-
PrimeFaces.focusElement(firstElement);
402+
PrimeFaces.focusFirstElement(firstElement);
403403
}
404404
}
405405
else if(context) {
406406
var firstElement = $(PrimeFaces.escapeClientId(context)).find(selector).eq(0);
407-
PrimeFaces.focusElement(firstElement);
407+
PrimeFaces.focusFirstElement(firstElement);
408408
}
409409
else {
410410
var elements = $(selector),
411411
firstElement = elements.eq(0);
412-
if(firstElement.is(':radio')) {
413-
var checkedRadio = $(':radio[name="' + firstElement.attr('name') + '"]').filter(':checked');
414-
if(checkedRadio.length)
415-
PrimeFaces.focusElement(checkedRadio);
416-
else
417-
PrimeFaces.focusElement(firstElement);
418-
}
419-
else {
420-
firstElement.focus();
421-
}
412+
PrimeFaces.focusFirstElement(firstElement);
422413
}
423414
}, 50);
424415

@@ -427,6 +418,19 @@
427418
PrimeFaces.customFocus = true;
428419
},
429420

421+
focusFirstElement: function(firstElement) {
422+
if(firstElement.is(':radio')) {
423+
var checkedRadio = $(':radio[name="' + firstElement.attr('name') + '"]').filter(':checked');
424+
if(checkedRadio.length)
425+
PrimeFaces.focusElement(checkedRadio);
426+
else
427+
PrimeFaces.focusElement(firstElement);
428+
}
429+
else {
430+
firstElement.focus();
431+
}
432+
},
433+
430434
focusElement: function(el) {
431435
if(el.is(':radio') && el.hasClass('ui-helper-hidden-accessible')) {
432436
el.parent().focus();

0 commit comments

Comments
 (0)