Navigation
News
- Crime
- Education
- Election
- Environment
- Healthcare
- LGBTQ+
- Politics
- Sports
- First Look
- Restaurant Guide
- Restaurant Reviews
- Top 100 Bars
- Top 100 Restaurants
- Photos
- Theater
- Visual Art
Music
- Concert Reviews
- Concert Calendar
- Local Music
Things To Do
Best of Dallas
- Readers' Choice
- Newsletters
More
- About Us
- Advertise with Us
- Contact Us
- Flipbook Archive
- Staff
- Support Us
- Where To Find Dallas Observer In Print
Latest Food News
- The Buzz Over Beehive in Downtown DallasApril 16, 2024
- Cafe Frida Puts a Crafty, Caffeinated Twist on the Speakeasy TrendApril 16, 2024
A searchable directory of recommended local restaurants
'); popup.append('
'); var closer = jQuery(''); popup.append(closer); /** * Create an overlay to anchor the popup to the map. */ var overlay = new ol.Overlay({ element: popup.get(0), autoPan: true, autoPanAnimation: { duration: 250 } }); map.addOverlay(overlay); /** * Add a click handler to hide the overlay. * @return {boolean} Don't follow the href. */ closer.click(function(e) { overlay.setPosition(undefined); e.target.blur(); return false; }); function updateInfoBox(overlay, event) { var map = event.map; var pixel = map.getEventPixel(event.originalEvent); var features = map.getFeaturesAtPixel(pixel, {hitTolerance: 20}) || []; if (overlay && features.length) { var feature = features[0]; var content = jQuery(overlay.getElement()).find('.popup-content'); const id = feature.get('id'); const url = feature.get('url'); const name = feature.get('name'); const teaser = feature.get('teaser'); const address = feature.get('address'); const addresssupplement = feature.get('addresssupplement'); const city = feature.get('city'); const state = feature.get('state'); const postalcode = feature.get('postalcode'); const phone = feature.get('phone'); const neighborhoodgroup = feature.get('neighborhoodgroup'); const neighborhood = feature.get('neighborhood'); const category = feature.get('category'); var info = jQuery("
"); if (typeof url !== 'undefined' && url !== '') { info.append('
' + name + '
'); } else { info.append('
' + name + '
'); } (teaser) && info.append(''); var details = jQuery(''); (addresssupplement) ? details.append('' + address + '' + ' ' + addresssupplement + '') : details.append('' + address + ''); details.append(' ' + city + ', ' + '' + state + ' ' + '' + postalcode + ''); (phone) && details.append('
' + phone + ''); info.append(details); /* div.details */ content.html(info.html()); overlay.setPosition(event.coordinate); } else { overlay.setPosition(undefined); } return; } map.on('singleclick', function(evt) { if (evt.dragging) { overlay.setPosition(undefined); return; } updateInfoBox(overlay, evt); }); if (false) { /* */ function updateMousePointer(overlay, event) { var map = event.map; var pixel = map.getEventPixel(event.originalEvent); var features = map.getFeaturesAtPixel(pixel, {hitTolerance: 20}) || []; if (overlay && features.length) { jQuery(`#bestOfLocationMap`).css({ cursor: 'pointer'}); } else { jQuery(`#bestOfLocationMap`)[0].style.removeProperty(`cursor`); } } map.on('pointermove', function(evt) { updateMousePointer(overlay, evt); }); } Foundation.OpenLayers.Maps['restaurantlisting-map'].map = map }) .fail(function () { console.warn('/foundation/scripts/ol.js not loaded.') });
Housed in Snider Plaza in a space built in 1945, Jack & Harry’s is a New Orleans chophouse and bar oozing old-school charm. From Dallas-based Vandalay Hospitality (East Hampton Sandwich Co., Drake's, Anchor Sushi Bar), it aims to be a swanky yet casual spot for a weeknight steak or family meal. It'll be what it wants to be, but elegance is present in droves with the warm nostalgia brought forth by the design and dishes like a French onion filet and oysters St. Claude.
Kayla Enright
Details
- Price: $$$
- Hours: Tuesday - Sunday, 4 p.m. - 10 p.m.; Monday Closed
- Alcohol: Full bar
- Reservations: Required
More Downtown/Deep Ellum Restaurants
Downtown/Deep Ellum
Revolver Gastro Cantina
- Mexican
- $$
- 2646 Elm St.
- Dallas, TX 75226
214-258-5900
Get Details
Downtown/Deep Ellum
Land of a Thousand Hills
- Coffeehouse
- $$
- 2900 Canton Street, Suite 130
- Novel Building
- Dallas, TX 75226
858-204-9177
Get Details
Downtown/Deep Ellum
The Rodeo Bar
- Bar Food
- $$
- 1321 Commerce St.
- Dallas, TX 75202
214-651-3559
Get Details
Downtown/Deep Ellum
RJ Mexican Cuisine
- Mexican
- $, $$
- 1701 N. Market St.
- Dallas, TX 75202
214-744-1420
Get Details
Downtown/Deep Ellum
Hattie B's Hot Chicken
- Hot Chicken
- $, $$
- 3000 Main St.
- Dallas, TX 75226
469-425-8100
Get Details
`); var slideModalStylesText = ` .${slideModalClassHook} { position: fixed; top: calc(50% - 125px); right: -300px; width: 300px; height: 250px; transition: right 750ms ease-in-out; box-shadow: 4px 4px 4px rgba(0,0,0,0.5); background-color: #FFF; border: solid 1px rgba(0, 0, 0, 0.5); box-sizing:border-box; z-index:44; } .${slideModalClassHook}.showSlideModal { right: 0; } .${slideModalClassHook}.hideSlideModal { right: -300px; transition: right 300ms ease-in-out; } .${slideModalClassHook} .uk-icon-button { position: absolute; top: 5px; right: 5px; width: 26px; height: 26px; } `; var getLocalStorageVersion = function () { return parseInt(window.localStorage.getItem(localStorageVersionKey)) || slideModalVersion; } var getLastDismissedTime = function () { return parseInt(window.localStorage.getItem(localStorageDismissedKey)) || 0; } var clearSlideModalLocalStorage = function () { window.localStorage.removeItem(localStorageVersionKey, slideModalVersion); window.localStorage.removeItem(localStorageDismissedKey); } var resetSlideModalLocalStorage = function () { window.localStorage.setItem(localStorageVersionKey, slideModalVersion); window.localStorage.removeItem(localStorageDismissedKey); } var injectSlideModalStyles = function () { var slideModalStyleContainer = jQuery(`
`); slideModalStyleContainer.text(slideModalStylesText); jQuery('head').append(slideModalStyleContainer); } var injectSlideModalBlock = function () { jQuery('body').append(slideModalBlock); } var showSlideModal = function () { slideModalBlock.addClass(`showSlideModal`).removeClass(`hideSlideModal`); } var hideSlideModal = function () { slideModalBlock.addClass(`hideSlideModal`).removeClass(`showSlideModal`); } var dismissSlideModal = function () { window.localStorage.setItem(localStorageVersionKey, slideModalVersion); window.localStorage.setItem(localStorageDismissedKey, new Date().getTime()); hideSlideModal(); } var setupSlideModalBehavior = function () { var dismissSelectors = [ `.${slideModalClassHook} .uk-icon-button`, `.${slideModalClassHook} a`, ]; jQuery(document).on(`keydown`, (e) => { if (e.key === `Escape`) hideSlideModal(); }); jQuery(document).on(`click`, `:not(.${slideModalClassHook})`, hideSlideModal); jQuery(document).on(`click`, dismissSelectors.join(`, `), dismissSlideModal); } if (getLocalStorageVersion() < slideModalVersion) { resetSlideModalLocalStorage(); } if (new Date().getTime() > getLastDismissedTime() + delayAfterDismissed) { injectSlideModalStyles(); injectSlideModalBlock(); setupSlideModalBehavior(); setTimeout(showSlideModal, delayBeforeShow); }