@@ -3782,9 +3782,10 @@ var htmx = (function() {
37823782 * @param {string } attr
37833783 * @param {boolean= } evalAsDefault
37843784 * @param {Object= } values
3785+ * @param {Event= } event
37853786 * @returns {Object }
37863787 */
3787- function getValuesForElement ( elt , attr , evalAsDefault , values ) {
3788+ function getValuesForElement ( elt , attr , evalAsDefault , values , event ) {
37883789 if ( values == null ) {
37893790 values = { }
37903791 }
@@ -3810,7 +3811,13 @@ var htmx = (function() {
38103811 }
38113812 let varsValues
38123813 if ( evaluateValue ) {
3813- varsValues = maybeEval ( elt , function ( ) { return Function ( 'return (' + str + ')' ) ( ) } , { } )
3814+ varsValues = maybeEval ( elt , function ( ) {
3815+ if ( event ) {
3816+ return Function ( 'event' , 'return (' + str + ')' ) ( event )
3817+ } else { // allow window.event to be accessible
3818+ return Function ( 'return (' + str + ')' ) ( )
3819+ }
3820+ } , { } )
38143821 } else {
38153822 varsValues = parseJSON ( str )
38163823 }
@@ -3822,7 +3829,7 @@ var htmx = (function() {
38223829 }
38233830 }
38243831 }
3825- return getValuesForElement ( asElement ( parentElt ( elt ) ) , attr , evalAsDefault , values )
3832+ return getValuesForElement ( asElement ( parentElt ( elt ) ) , attr , evalAsDefault , values , event )
38263833 }
38273834
38283835 /**
@@ -3842,28 +3849,31 @@ var htmx = (function() {
38423849
38433850 /**
38443851 * @param {Element } elt
3845- * @param {*? } expressionVars
3852+ * @param {Event= } event
3853+ * @param {*?= } expressionVars
38463854 * @returns
38473855 */
3848- function getHXVarsForElement ( elt , expressionVars ) {
3849- return getValuesForElement ( elt , 'hx-vars' , true , expressionVars )
3856+ function getHXVarsForElement ( elt , event , expressionVars ) {
3857+ return getValuesForElement ( elt , 'hx-vars' , true , expressionVars , event )
38503858 }
38513859
38523860 /**
38533861 * @param {Element } elt
3854- * @param {*? } expressionVars
3862+ * @param {Event= } event
3863+ * @param {*?= } expressionVars
38553864 * @returns
38563865 */
3857- function getHXValsForElement ( elt , expressionVars ) {
3858- return getValuesForElement ( elt , 'hx-vals' , false , expressionVars )
3866+ function getHXValsForElement ( elt , event , expressionVars ) {
3867+ return getValuesForElement ( elt , 'hx-vals' , false , expressionVars , event )
38593868 }
38603869
38613870 /**
38623871 * @param {Element } elt
3872+ * @param {Event= } event
38633873 * @returns {FormData }
38643874 */
3865- function getExpressionVars ( elt ) {
3866- return mergeObjects ( getHXVarsForElement ( elt ) , getHXValsForElement ( elt ) )
3875+ function getExpressionVars ( elt , event ) {
3876+ return mergeObjects ( getHXVarsForElement ( elt , event ) , getHXValsForElement ( elt , event ) )
38673877 }
38683878
38693879 /**
@@ -4302,7 +4312,7 @@ var htmx = (function() {
43024312 if ( etc . values ) {
43034313 overrideFormData ( rawFormData , formDataFromObject ( etc . values ) )
43044314 }
4305- const expressionVars = formDataFromObject ( getExpressionVars ( elt ) )
4315+ const expressionVars = formDataFromObject ( getExpressionVars ( elt , event ) )
43064316 const allFormData = overrideFormData ( rawFormData , expressionVars )
43074317 let filteredFormData = filterValues ( allFormData , elt )
43084318
0 commit comments